linux/drivers
Rafael J. Wysocki 65df78473f ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume
Some Apple boxes evidently require us to set SCI_EN on resume
directly, because if we don't do that, they hung somewhere in the
resume code path.  Moreover, on these boxes it is not sufficient to
use acpi_enable() to turn ACPI on during resume.  All of this is
against the ACPI specification which states that (1) the BIOS is
supposed to return from the S3 sleep state with ACPI enabled
(SCI_EN set) and (2) the SCI_EN bit is owned by the hardware and we
are not supposed to change it.

For this reason, blacklist the affected systems so that the SCI_EN
bit is set during resume on them.

[NOTE: Unconditional setting SCI_EN for all system on resume doesn't
 work, because it makes some other systems crash (that's to be
 expected).  Also, it is not entirely clear right now if all of the
 Apple boxes require this workaround.]

This patch fixes the recent regression tracked as
http://bugzilla.kernel.org/show_bug.cgi?id=12038

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Tino Keitel <tino.keitel@gmx.de>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Len Brown <len.brown@intel.com>
History 2008-11-26 17:53:13 -05:00
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume 2008-11-26 17:53:13 -05:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata libata: improve phantom device detection 2008-11-14 18:51:57 -05:00
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
auxdisplay auxdisplay: small cleanups 2008-07-24 10:47:41 -07:00
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block cciss: fix DEBUG printk formats 2008-11-19 18:50:00 -08:00
bluetooth bpa10x: free sk_buff with kfree_skb 2008-10-31 00:40:19 -07:00
cdrom gdrom: Fix compile error 2008-10-28 17:46:02 +09:00
char Merge branch 'doc-subdirs' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs 2008-11-15 11:51:03 -08:00
clocksource Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus 2008-10-20 13:14:06 +02:00
connector CONNECTOR: add a proc entry to list connectors 2008-06-27 20:03:24 -07:00
cpufreq [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code 2008-10-09 13:52:44 -04:00
cpuidle regression: disable timer peek-ahead for 2.6.28 2008-11-09 16:28:42 -08:00
crypto crypto: talitos - Avoid consecutive packets going out with same IV 2008-09-14 13:41:19 -07:00
dca [4/4] dca: fixup initialization dependency 2008-11-10 15:01:03 -08:00
dio dio: use dio_match_device() in dio_bus_match() 2008-07-20 17:24:40 -07:00
dma dmaengine: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-11 13:12:33 -07:00
edac i5000-edac: hold reference to mci kobject 2008-11-12 17:17:16 -08:00
eisa driver core: remove DEVICE_NAME_SIZE define 2008-07-21 21:54:53 -07:00
firewire firewire: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-31 08:48:25 +01:00
firmware trivial: dmi_scan typo 2008-11-07 08:25:43 -08:00
gpio gpiolib: extend gpio label column width in debugfs file 2008-11-19 18:49:57 -08:00
gpu drm/i915: Move legacy breadcrumb out of the reserved status page area 2008-11-11 18:03:28 +10:00
hid HID: don't grab devices with no input 2008-11-14 14:10:01 +01:00
hwmon drivers/hwmon/applesmc.c: add generic MacPro support 2008-11-19 18:49:59 -08:00
i2c i2c: fix i2c-sh_mobile rx underrun 2008-11-13 15:37:07 +09:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-11-15 18:58:37 -08:00
idle i7300_idle: Kconfig, show menu only on x86_64 2008-10-28 00:14:47 -04:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-11-06 15:55:34 -08:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-11-12 10:56:31 -08:00
input saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
isdn isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply 2008-11-16 23:03:45 -08:00
leds remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
lguest lguest: update commentry 2008-08-26 00:19:28 +10:00
macintosh device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
mca driver core: remove DEVICE_NAME_SIZE define 2008-07-21 21:54:53 -07:00
md dm: avoid destroying table in dm_any_congested 2008-11-13 23:39:14 +00:00
media V4L/DVB (9624): CVE-2008-5033: fix OOPS on tvaudio when controlling bass/treble 2008-11-14 14:39:47 -02:00
memstick [PATCH] switch memstick 2008-10-21 07:48:33 -04:00
message trivial: MPT fusion - remove long dead code 2008-11-07 08:25:43 -08:00
mfd mfd: Correct WM8350 I2C return code usage 2008-11-16 19:58:47 +01:00
misc GRU: fix for debug option 2008-11-19 18:49:57 -08:00
mmc mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
mtd [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants 2008-11-13 15:05:03 +00:00
net atl2: don't request irq on resume if netif running 2008-11-20 04:18:25 -08:00
nubus nubus: fix mis-indented statement 2008-10-16 11:21:30 -07:00
of OF-device: Don't overwrite numa_node in device registration 2008-10-31 16:12:01 +11:00
oprofile oprofile: fix memory ordering 2008-10-27 19:15:41 +01:00
parisc [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
parport Parport driver: disable pc-style parport on Blackfin systems 2008-11-18 08:10:08 -08:00
pci Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-20 13:13:03 -08:00
pcmcia pcmcia: ensure correct logging in do_io_probe 2008-11-09 21:47:47 +01:00
pnp drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 powerpc/ps3: Fix compile error in ps3-lpm.c 2008-11-05 19:59:08 +11:00
rapidio rapidio: fix device reference counting 2008-07-10 18:04:43 -07:00
regulator regulator: Use menuconfig in Kconfig 2008-11-09 14:49:23 +00:00
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-11-17 07:54:47 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-11-15 11:38:02 -08:00
sbus drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
scsi [SCSI] dpt_i2o: fix transferred data length for scsi_set_resid() 2008-11-15 11:10:14 -06:00
serial serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. 2008-11-13 17:46:06 +09:00
sh sh: Move the shared INTC code out to drivers/sh/ 2008-10-01 16:13:54 +09:00
sn ioc3.c: replace remaining __FUNCTION__ occurrences 2008-03-17 08:11:48 -04:00
spi spi_imx: full duplex dma corruption bugfix 2008-11-19 18:49:58 -08:00
ssb SSB: hide empty sub menu 2008-11-10 13:50:17 -08:00
staging Don't ask twice about not including staging drivers 2008-11-09 12:47:04 -08:00
tc lk201: remove obsolete driver 2007-10-17 08:42:57 -07:00
telephony telephony: trivial: fix up email address 2008-11-11 09:30:23 -08:00
thermal thermal: Create CONFIG_THERMAL_HWMON=n 2008-06-25 19:25:42 -04:00
uio saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
usb USB: ACE1001 patch for cp2101.c 2008-11-19 22:01:35 -08:00
uwb uwb: wrong sizeof argument in mac address compare 2008-10-20 14:37:53 +01:00
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-11-20 18:08:09 -08:00
virtio virtio_balloon: fix towards_target when deflating balloon 2008-08-26 00:19:25 +10:00
w1 W1 OMAP: Fix OMAP LDP boot crash 2008-11-19 18:50:00 -08:00
watchdog Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-11 09:24:31 -08:00
xen xen: fix scrub_page() 2008-11-17 19:11:26 +01:00
zorro move memory_read_from_buffer() from fs.h to string.h 2008-07-24 10:47:13 -07:00
Kconfig regulator: Build on non-ARM platforms 2008-10-28 21:47:17 +00:00
Makefile Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-26 16:35:46 -07:00