Bug 38152
Summary: | acpi_power_off lockdep splat | ||
---|---|---|---|
Product: | ACPI | Reporter: | Maciej Rutecki (maciej.rutecki) |
Component: | ACPICA-Core | Assignee: | acpi_acpica-core (acpi_acpica-core) |
Status: | CLOSED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | CC: | bp, florian, lenb, maciej.rutecki, rjw |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.0-rc3 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 36912 |
Description
Maciej Rutecki
2011-06-23 19:04:42 UTC
Ignore-Patch : https://lkml.org/lkml/2011/7/2/54 Handled-By : Rafael J. Wysocki <rjw@sisk.pl> Patch : https://patchwork.kernel.org/patch/950852/ shipped in v3.0: commit 07e49a7a31153a95caa270d8ad7350a0bcd4d511 Author: Rafael J. Wysocki <rjw@sisk.pl> Date: Wed Jul 6 20:44:25 2011 +0200 ACPI: Fix lockdep false positives in acpi_power_off() All ACPICA locks are allocated by the same function, acpi_os_create_lock(), with the help of a local variable called "lock". Thus, when lockdep is enabled, it uses "lock" as the name of all those locks and regards them as instances of the same lock, which causes it to report possible locking problems with them when there aren't any. To work around this problem, define acpi_os_create_lock() as a macro and make it pass its argument to spin_lock_init(), so that lockdep uses it as the name of the new lock. Define this macron in a Linux-specific file, to minimize the resulting modifications of the OS-independent ACPICA parts. This change is based on an earlier patch from Andrea Righi and it addresses a regression from 2.6.39 tracked as https://bugzilla.kernel.org/show_bug.cgi?id=38152 Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Reported-and-tested-by: Borislav Petkov <bp@alien8.de> Tested-by: Andrea Righi <andrea@betterlinux.com> Reviewed-by: Florian Mickler <florian@mickler.org> Signed-off-by: Len Brown <len.brown@intel.com> |