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=38152Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl> Reported-and-tested-by: NBorislav Petkov <bp@alien8.de> Tested-by: NAndrea Righi <andrea@betterlinux.com> Reviewed-by: NFlorian Mickler <florian@mickler.org> Signed-off-by: NLen Brown <len.brown@intel.com>
Showing
想要评论请 注册 或 登录