diff options
author | Vegard Nossum <vegard.nossum@gmail.com> | 2008-06-20 09:39:09 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2008-07-16 17:27:02 -0400 |
commit | d1857056904d5f313f11184fcfa624652ff9620a (patch) | |
tree | e223c8b33e15bd81433fe980f0d85e96b3459934 /drivers | |
parent | 860f0c6b3dcaa455894f690647442dc97cab19c8 (diff) |
ACPI: don't walk tables if ACPI was disabled
Ingo Molnar wrote:
> -tip auto-testing started triggering this spinlock corruption message
> yesterday:
>
> [ 3.976213] calling acpi_rtc_init+0x0/0xd3
> [ 3.980213] ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread F7C50000 could not acquire Mutex [3] [20080321]
> [ 3.992213] BUG: spinlock bad magic on CPU#0, swapper/1
> [ 3.992213] lock: c2508dc4, .magic: 00000000, .owner: swapper/1, .owner_cpu: 0
This is apparently because some parts of ACPI, including mutexes, are not
initialized when acpi=off is passed to the kernel.
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/glue.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c index 9b227d4dc9c9..6d18ca34b6aa 100644 --- a/drivers/acpi/glue.c +++ b/drivers/acpi/glue.c | |||
@@ -336,6 +336,9 @@ static int __init acpi_rtc_init(void) | |||
336 | if (acpi_disabled) | 336 | if (acpi_disabled) |
337 | return 0; | 337 | return 0; |
338 | 338 | ||
339 | if (acpi_disabled) | ||
340 | return 0; | ||
341 | |||
339 | if (dev) { | 342 | if (dev) { |
340 | rtc_wake_setup(); | 343 | rtc_wake_setup(); |
341 | rtc_info.wake_on = rtc_wake_on; | 344 | rtc_info.wake_on = rtc_wake_on; |