]> git.baikalelectronics.ru Git - kernel.git/commit
ACPICA: Dispatcher: Fix order issue of method termination
authorLv Zheng <zetalog@gmail.com>
Wed, 26 Oct 2016 07:40:12 +0000 (15:40 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 28 Oct 2016 23:57:43 +0000 (01:57 +0200)
commitcb0f327bb6dbd0d2f2c69d97e9a4231fd4120f84
tree6e42efd5429fddba4bdaf301708c7e2b9870e8f6
parentd3d68218da580b6108d3a76f1c034afe4931b1a3
ACPICA: Dispatcher: Fix order issue of method termination

The last step of the method termination should be the end of the method
serialization. Otherwise, the steps happening after it will face the race
issues that cannot be protected by the method serialization mechanism.

This patch fixes this issue by moving the per-method-object deletion code
prior than the end of the method serialization. Otherwise, the possible
race issues may result in AE_ALREADY_EXISTS error in a parallel
environment.

Fixes: 2016853f12b1 (ACPICA: Namespace: Fix dynamic table loading issues)
Reported-and-tested-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/dsmethod.c