1
linux/drivers/acpi
Venki Pallipadi 71e93d1561 ACPI: lockdep warning on boot, 2.6.25-rc5
This avoids the harmless WARNING by lockdep in acpi_processor_idle().

The reason for WARNING is because at the depth of idle handling code,
some of the idle handlers disable interrupts, some times, while returning from
the idle handler. After return, acpi_processor_idle and few other routines
in the file did an unconditional local_irq_enable(). With LOCKDEP, enabling
irq when it is already enabled generates the below WARNING.

> > [    0.593038] ------------[ cut here ]------------
> > [    0.593267] WARNING: at kernel/lockdep.c:2035 trace_hardirqs_on+0xa0/0x115()
> > [    0.593596] Modules linked in:
> > [    0.593756] Pid: 0, comm: swapper Not tainted 2.6.25-rc5 #8
> > [    0.594017]
> > [    0.594017] Call Trace:
> > [    0.594216]  [<ffffffff80231663>] warn_on_slowpath+0x58/0x6b
> > [    0.594495]  [<ffffffff80495966>] ? _spin_unlock_irqrestore+0x38/0x47
> > [    0.594809]  [<ffffffff80329a86>] ? acpi_os_release_lock+0x9/0xb
> > [    0.595103]  [<ffffffff80337840>] ? acpi_set_register+0x161/0x173
> > [    0.595401]  [<ffffffff8034c8d4>] ? acpi_processor_idle+0x1de/0x546
> > [    0.595706]  [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [    0.595970]  [<ffffffff8024fc0e>] trace_hardirqs_on+0xa0/0x115
> > [    0.596049]  [<ffffffff8034c6f6>] ? acpi_processor_idle+0x0/0x546
> > [    0.596346]  [<ffffffff8034c8d4>] acpi_processor_idle+0x1de/0x546
> > [    0.596642]  [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [    0.596912]  [<ffffffff8034c6f6>] ? acpi_processor_idle+0x0/0x546
> > [    0.597209]  [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [    0.597472]  [<ffffffff8020a355>] cpu_idle+0xa7/0xd1
> > [    0.597717]  [<ffffffff80485fa1>] rest_init+0x55/0x57
> > [    0.597957]  [<ffffffff8062fb49>] start_kernel+0x29d/0x2a8
> > [    0.598215]  [<ffffffff8062f1da>] _sinittext+0x1da/0x1e1
> > [    0.598464]
> > [    0.598546] ---[ end trace 778e504de7e3b1e3 ]---

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-03-14 00:05:48 -04:00
..
dispatcher ACPI: track opregion names to avoid driver resource conflicts. 2008-02-07 00:59:18 -05:00
events Merge branches 'release' and 'stats' into release 2008-02-07 03:13:36 -05:00
executer ACPI: fix build warning 2008-02-21 02:01:30 -05:00
hardware ACPI suspend: Execute _WAK with the right argument 2008-02-14 00:28:05 -05:00
namespace
parser
resources
sleep ACPI: replace remaining __FUNCTION__ occurrences 2008-03-11 01:58:41 -04:00
tables Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release 2008-02-07 03:09:43 -05:00
utilities Merge branches 'release', 'button-sysfs', 'misc', 'mismatch', 'randconfig' and 'toshiba' into release 2008-03-13 01:59:49 -04:00
ac.c
acpi_memhotplug.c
asus_acpi.c asus_acpi: add support for F3Sa 2008-02-07 00:46:38 -05:00
battery.c ACPI: battery: add sysfs serial number 2008-02-05 21:15:50 -05:00
bay.c Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
blacklist.c ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505 2008-02-14 02:43:39 -05:00
bus.c ACPI: replace remaining __FUNCTION__ occurrences 2008-03-11 01:58:41 -04:00
button.c ACPI: button: make real parent for input devices in device tree 2008-03-11 13:38:49 -04:00
cm_sbs.c
container.c
debug.c
dock.c Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
ec.c Merge branches 'release', 'bugzilla-8570', 'bugzilla-9966', 'bugzilla-9998', 'bugzilla-10100', 'bugzilla-10132', 'bugzilla-10138' and 'bugzilla-10206' into release 2008-03-13 01:59:45 -04:00
event.c ACPI: static acpi_chain_head 2008-02-14 01:04:18 -05:00
fan.c ACPI fan: extract return values using PTR_ERR 2008-02-15 18:21:30 -05:00
glue.c ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
Kconfig ACPI: prevent randconfig build failure on empty ACPI_CUSTOM_DSDT_FILE 2008-02-23 00:15:11 -05:00
Makefile ACPI: SBS: Host controller must initialize before SBS. 2008-02-09 03:22:13 -05:00
numa.c ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
osl.c ACPI: Fix a duplicate log level 2008-03-11 00:52:19 -04:00
pci_bind.c ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
pci_irq.c ACPI: add _PRT quirks to work around broken firmware 2008-03-11 23:41:08 -04:00
pci_link.c ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
pci_root.c ACPI: fix section mismatch in acpi_pci_root_add 2008-02-21 02:56:32 -05:00
power.c ACPI: remove duplicated warning message 2008-02-07 00:49:28 -05:00
processor_core.c Merge branches 'release', 'button-sysfs', 'misc', 'mismatch', 'randconfig' and 'toshiba' into release 2008-03-13 01:59:49 -04:00
processor_idle.c ACPI: lockdep warning on boot, 2.6.25-rc5 2008-03-14 00:05:48 -04:00
processor_perflib.c ACPI: cpufreq: Print _PPC changes via cpufreq debug layer 2008-02-07 14:47:40 -05:00
processor_thermal.c ACPI: register ACPI Processor as generic thermal cooling device 2008-02-01 23:18:19 -05:00
processor_throttling.c ACPI: throttling: fix build warning 2008-02-02 03:56:18 -05:00
sbs.c ACPI: SBS: Host controller must initialize before SBS. 2008-02-09 03:22:13 -05:00
sbshc.c ACPI: SBS: Host controller must initialize before SBS. 2008-02-09 03:22:13 -05:00
sbshc.h
scan.c Merge branches 'release', 'ejd', 'sony' and 'wmi' into release 2008-03-13 01:59:52 -04:00
system.c ACPI: buffer array too short in drivers/acpi/system.c 2008-03-12 17:57:22 -04:00
tables.c
thermal.c ACPI: thermal: show temperature in millidegree Celsius 2008-03-13 01:49:11 -04:00
toshiba_acpi.c toshiba_acpi: Enable autoloading 2008-03-11 13:35:08 -04:00
utils.c ACPICA: Warn if packages with invalid references are evaluated 2008-03-11 23:57:20 -04:00
video.c Merge branches 'release', 'button-sysfs', 'misc', 'mismatch', 'randconfig' and 'toshiba' into release 2008-03-13 01:59:49 -04:00
wmi.c ACPI: WMI: Clean up handling of spec violating data blocks 2008-03-11 17:59:05 -04:00