linux/drivers
Jonathan Nieder d63d398591 ACPI / PM: Leave Bus Master Arbitration enabled for suspend/resume
commit dc332fdf9f upstream.

This is an old suspend/resume lockup fix:

	commit 2780cc4660e1
	Author: Len Brown <len.brown@intel.com>
	Date:   Thu Dec 23 13:43:30 2004 -0500

	    [ACPI] Fix suspend/resume lockup issue
	    by leaving Bus Master Arbitration enabled.
	    The ACPI spec mandates it be disabled only for C3.

	    http://bugzilla.kernel.org/show_bug.cgi?id=3599

	    Signed-off-by: David Shaohua Li <shaohua.li@intel.com>
	    Signed-off-by: Len Brown <len.brown@intel.com>

The bug snuck back in in commit 2feec47d4c (ACPICA: ACPI 5: Support
for new FADT SleepStatus, SleepControl registers, 2012-02-14),
presumably by copy/pasting a copy of the code without that fix for the
legacy case.

On affected machines, after that commit, the machine locks up hard on
resume from suspend.  The same fix as seven years ago still works.

Addresses <https://bugzilla.kernel.org/show_bug.cgi?id=43641>.

Reported-bisected-and-tested-by: Octavio Alvarez <alvarezp@alvarezp.com>
Reported-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-16 09:04:37 -07:00
..
accessibility
acpi ACPI / PM: Leave Bus Master Arbitration enabled for suspend/resume 2012-07-16 09:04:37 -07:00
amba ARM: 7366/3: amba: Remove AMBA level regulator support 2012-04-13 14:04:08 +01:00
ata ata_piix: defer disks to the Hyper-V drivers by default 2012-06-17 11:21:29 -07:00
atm solos-pci: Fix DMA support 2012-06-10 00:36:08 +09:00
auxdisplay
base PM / Sleep: Prevent waiting forever on asynchronous suspend after abort 2012-07-16 09:04:08 -07:00
bcma bcma: add ext PA workaround for BCM4331 and BCM43431 2012-06-17 11:21:26 -07:00
block umem: fix up unplugging 2012-07-16 09:04:08 -07:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth 2012-04-27 15:16:43 -04:00
cdrom
char hwrng: atmel-rng - fix data valid check 2012-06-22 11:37:15 -07:00
clk clk: fix parent validation in __clk_set_parent() 2012-07-16 09:04:09 -07:00
clocksource Revert "clocksource: Load the ACPI PM clocksource asynchronously" 2012-04-12 00:05:05 +02:00
connector
cpufreq cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS 2012-04-13 17:57:40 -07:00
cpuidle Merge branches 'idle-fix' and 'misc' into release 2012-04-06 21:48:59 -04:00
crypto crypto: mv_cesa requires on CRYPTO_HASH to build 2012-05-15 01:10:06 +00:00
dca
devfreq ARM: global cleanups 2012-03-27 16:03:32 -07:00
dio
dma dmaengine: pl330: dont complete descriptor for cyclic dma 2012-07-16 09:04:09 -07:00
edac edac: fix the error about memory type detection on SandyBridge 2012-06-22 11:37:15 -07:00
eisa
firewire Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
firmware efivars: Improve variable validation 2012-05-03 17:19:19 -07:00
gpio gpiolib: wm8994: Pay attention to the value set when enabling as output 2012-07-16 09:04:09 -07:00
gpu drm/radeon: fix VM page table setup on SI 2012-07-16 09:04:06 -07:00
hid HID: hid-multitouch: fix wrong protocol detection 2012-07-16 09:04:28 -07:00
hsi HSI: hsi_char: Remove max_data_size from sysfs 2012-04-23 14:23:32 +03:00
hv
hwmon x86, cpufeature: Rename X86_FEATURE_DTS to X86_FEATURE_DTHERM 2012-07-16 09:04:22 -07:00
hwspinlock hwspinlock/core: use global ID to register hwspinlocks on multiple devices 2012-07-16 09:04:25 -07:00
i2c i2c: tegra: notify transfer-complete after clearing status. 2012-06-01 15:18:28 +08:00
ide Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
idle simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ieee802154
infiniband IB/core: Fix mismatch between locked and pinned pages 2012-06-01 15:18:17 +08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-04-30 10:13:48 -07:00
iommu iommu/tegra: smmu: Fix unsleepable memory allocation 2012-07-16 09:03:52 -07:00
isdn isdn/gigaset: improve error handling querying firmware version 2012-06-01 15:18:14 +08:00
leds drivers/leds: correct __devexit annotations 2012-05-10 15:06:44 -07:00
lguest
macintosh Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mca
md dm persistent data: fix allocation failure in space map checker init 2012-07-16 09:04:26 -07:00
media media: smsusb: add autodetection support for USB ID 2040:f5a0 2012-07-16 09:03:23 -07:00
memstick
message Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mfd mfd: Fix build breakage in omap-usb-host.c 2012-05-01 11:55:04 +02:00
misc Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
mmc mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq 2012-06-01 15:18:27 +08:00
mtd mtd: cafe_nand: fix an & vs | mistake 2012-07-16 09:04:23 -07:00
net e1000e: test for valid check_reset_block function pointer 2012-07-16 09:04:27 -07:00
nfc
nubus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
of gpio: Fix range check in of_gpio_simple_xlate() 2012-04-10 14:20:56 -06:00
oprofile oprofile: perf: use NR_CPUS instead or nr_cpumask_bits for static array 2012-07-16 09:04:21 -07:00
parisc parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
parport
pci USB: add NO_D3_DURING_SLEEP flag and revert 151b612847 2012-06-22 11:37:13 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia 2012-03-29 16:00:48 -07:00
pinctrl pinctrl: implement pinctrl_check_ops 2012-04-11 09:31:02 +02:00
platform Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-06 12:19:38 -07:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
power Various small bugfixes and enhancements, plus two new drivers: 2012-03-30 16:09:02 -07:00
pps
ps3
ptp ptp_pch: Add missing #include <linux/slab.h> 2012-05-16 14:44:44 -04:00
rapidio
regulator regulator: core: Release regulator-regulator supplies on error 2012-06-01 15:18:15 +08:00
remoteproc remoteproc: fix missing CONFIG_FW_LOADER configurations 2012-07-16 09:04:25 -07:00
rpmsg rpmsg: make sure inflight messages don't invoke just-removed callbacks 2012-07-16 09:03:52 -07:00
rtc drivers/rtc/rtc-pl031.c: configure correct wday for 2000-01-01 2012-05-17 18:00:51 -07:00
s390 qeth: Use blkt defaults for OSA Express 4 2012-04-24 00:33:17 -04:00
sbus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
scsi SCSI: libsas: fix taskfile corruption in sas_ata_qc_fill_rtf 2012-07-16 09:04:37 -07:00
sfi
sh SuperH updates for 3.4 merge window 2012-03-30 00:09:17 -07:00
sn
spi spi/spi-fsl-spi: reference correct pdata in fsl_spi_cs_control 2012-06-01 15:18:25 +08:00
ssb
staging staging: r8712u: Add new USB IDs 2012-07-16 09:03:50 -07:00
target tcm_fc: Resolve suspicious RCU usage warnings 2012-07-16 09:04:24 -07:00
tc
thermal thermal: Fix for setting the thermal zone mode to enable/disable 2012-03-22 01:10:18 -04:00
tty xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness. 2012-06-22 11:36:54 -07:00
uio
usb usb-storage: revert commit afff07e61a (Add 090c:1000 to unusal-devs) 2012-07-16 09:04:10 -07:00
uwb uwb: fix error handling 2012-04-18 13:15:51 -07:00
vhost vhost-net: fix handle_rx buffer size 2012-05-11 18:16:57 -04:00
video OMAPDSS: use DSI_FIFO_BUG workaround only for manual update displays 2012-07-16 09:04:27 -07:00
virt
virtio virtio: balloon: let host know of updated balloon size before module removal 2012-05-17 12:14:34 +03:00
vlynq
w1
watchdog hpwdt: Only BYTE reads/writes to WD Timer port 0x72 2012-04-26 14:38:07 +02:00
xen xen: do not map the same GSI twice in PVHVM guests. 2012-06-01 15:18:25 +08:00
zorro
Kconfig Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00
Makefile Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00