Peter Zijlstra
7f424a8b08
fix idle (arch, acpi and apm) and lockdep
...
OK, so 25-mm1 gave a lockdep error which made me look into this.
The first thing that I noticed was the horrible mess; the second thing I
saw was hacks like: 71e93d1561
The problem is that arch idle routines are somewhat inconsitent with
their IRQ state handling and instead of fixing _that_, we go paper over
the problem.
So the thing I've tried to do is set a standard for idle routines and
fix them all up to adhere to that. So the rules are:
idle routines are entered with IRQs disabled
idle routines will exit with IRQs enabled
Nearly all already did this in one form or another.
Merge the 32 and 64 bit bits so they no longer have different bugs.
As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated
irq-enable.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-27 00:01:45 +02:00
..
dispatcher
events
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 PM: Restore the 2.6.24 suspend ordering
2008-04-01 11:21:08 -07:00
tables
utilities
Merge branches 'release', 'button-sysfs', 'misc', 'mismatch', 'randconfig' and 'toshiba' into release
2008-03-13 01:59:49 -04:00
ac.c
acpi: Storage class should be before const qualifier
2008-04-21 22:24:53 +00:00
acpi_memhotplug.c
asus_acpi.c
asus_acpi: remove misleading mask
2008-03-18 02:31:34 -04:00
battery.c
ACPI: battery: Don't return -EFAIL on broken packages.
2008-03-17 22:37:42 -04:00
bay.c
blacklist.c
ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505
2008-02-14 02:43:39 -05:00
bus.c
acpi: bus: check once more for an empty list after locking it
2008-04-15 19:35:41 -07: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
ACPI: Set flag DOCK_UNDOCKING when triggered via sysfs
2008-03-18 05:16:38 -04:00
ec.c
Revert "ACPI: EC: Handle IRQ storm on Acer laptops"
2008-03-18 21:32:24 -07:00
event.c
ACPI: static acpi_chain_head
2008-02-14 01:04:18 -05:00
fan.c
revert "ACPI: drivers/acpi: elide a non-zero test on a result that is never 0"
2008-03-28 10:16:53 -07:00
glue.c
Kconfig
ACPI: Remove ACPI_CUSTOM_DSDT_INITRD option
2008-03-15 11:58:04 -07:00
Makefile
numa.c
osl.c
Add down_timeout and change ACPI to use it
2008-04-17 10:42:46 -04:00
pci_bind.c
pci_irq.c
ACPI: fix Medion _PRT quirk (use "ISA_", not "ISA")
2008-03-25 15:21:30 -07:00
pci_link.c
pci_root.c
ACPI: fix section mismatch in acpi_pci_root_add
2008-02-21 02:56:32 -05:00
power.c
processor_core.c
acpi: fix "buggy BIOS check" when CPUs are hot removed
2008-04-08 18:25:53 -07:00
processor_idle.c
fix idle (arch, acpi and apm) and lockdep
2008-04-27 00:01:45 +02:00
processor_perflib.c
processor_thermal.c
processor_throttling.c
generic: use new set_cpus_allowed_ptr function
2008-04-19 19:44:58 +02:00
sbs.c
sbshc.c
ACPI: SBS: remove typo from sbchc.c
2008-03-18 05:13:14 -04:00
sbshc.h
scan.c
ACPI: fix a regression of ACPI device driver autoloading
2008-03-25 22:48:37 -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: fix result check
2008-04-08 18:25:52 -07: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
Revert "ACPI: Ignore _BQC object when registering backlight device"
2008-04-05 12:14:13 -07:00
wmi.c
ACPI: WMI: Clean up handling of spec violating data blocks
2008-03-11 17:59:05 -04:00