linux/drivers
Alan Stern f2791d733a PM / Runtime: don't forget to wake up waitqueue on failure
This patch (as1535) fixes a bug in the runtime PM core.  When a
runtime suspend attempt completes, whether successfully or not, the
device's power.wait_queue is supposed to be signalled.  But this
doesn't happen in the failure pathway of rpm_suspend() when another
autosuspend attempt is rescheduled.  As a result, a task can get stuck
indefinitely on the wait queue (I have seen this happen in testing).

The patch fixes the problem by moving the wake_up_all() call up near
the start of the failure code.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-03-26 22:46:52 +02:00
..
accessibility
acpi
amba
ata 1) AHCI regression fix. A recent "make driver conform to spec" change 2012-03-22 20:22:30 -07:00
atm
auxdisplay
base PM / Runtime: don't forget to wake up waitqueue on failure 2012-03-26 22:46:52 +02:00
bcma
block One tiny feature that accidentally got lost in the initial git pull: 2012-03-24 12:20:25 -07:00
bluetooth
cdrom
char Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
clk
clocksource Power management updates for 3.4 2012-03-21 10:15:51 -07:00
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2012-03-23 17:56:39 -07:00
cpuidle
crypto Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2012-03-22 18:15:32 -07:00
dca
devfreq
dio
dma The following text was taken from the original review request: 2012-03-24 10:24:31 -07:00
edac The following text was taken from the original review request: 2012-03-24 10:41:37 -07:00
eisa
firewire IEEE 1394 (FireWire) subsystem updates post v3.3: 2012-03-22 20:31:15 -07:00
firmware
gpio Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
gpu The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
hid Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-03-23 14:39:09 -07:00
hv
hwmon hwmon: Add MCP3021 ADC driver 2012-03-23 10:02:20 +01:00
hwspinlock
i2c Merge branch 'i2c-embedded/for-3.4' of git://git.pengutronix.de/git/wsa/linux 2012-03-23 14:12:04 -07:00
ide ide: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:17 +08:00
idle drivers/idle/intel_idle.c: fix confusing code identation 2012-03-21 17:54:54 -07:00
ieee802154
infiniband Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
input Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
iommu The IOMMU updates for this round are not very large patch-wise. But 2012-03-23 14:15:07 -07:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-03-20 21:04:47 -07:00
leds led-class: change back LEDS_CLASS to tristate instead of bool 2012-03-23 16:58:35 -07:00
lguest
macintosh Core device tree changes for Linux v3.4 2012-03-21 10:30:03 -07:00
mca
md md updates for 3.4 2012-03-22 12:29:50 -07:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-03-23 14:39:09 -07:00
memstick memstick: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:19 +08:00
message
mfd The following text was taken from the original review request: 2012-03-24 10:41:37 -07:00
misc Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
mmc The following text was taken from the original review request: 2012-03-24 10:24:31 -07:00
mtd mtd: use for_each_clear_bit() 2012-03-23 16:58:34 -07:00
net One tiny feature that accidentally got lost in the initial git pull: 2012-03-24 12:20:25 -07:00
nfc
nubus
of Merge branch 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:30:49 -07:00
oprofile tidy up after d_make_root() conversion 2012-03-20 21:29:37 -04:00
parisc Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
parport
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pcmcia Merge branch 'pcmcia' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:37:40 -07:00
pinctrl
platform Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pnp
power The following text was taken from the original review request: 2012-03-24 10:41:37 -07:00
pps
ps3
ptp
rapidio
regulator regulator: Updates for 3.4 2012-03-21 10:34:56 -07:00
rtc Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
s390 s390/char: use for_each_clear_bit() 2012-03-23 16:58:34 -07:00
sbus
scsi Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
sfi
sh
sn
spi SPI changes for v3.4. 2012-03-21 10:32:00 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-03-20 21:04:47 -07:00
staging The following text was taken from the original review request: 2012-03-24 10:24:31 -07:00
target Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
tc
thermal
tty Miscellaneous Itanium patches 2012-03-23 17:19:37 -07:00
uio
usb Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
uwb uwb: use for_each_clear_bit() 2012-03-23 16:58:34 -07:00
vhost vhost: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:21 +08:00
video usermodehelper: use UMH_WAIT_PROC consistently 2012-03-23 16:58:41 -07:00
virt
virtio
vlynq
w1
watchdog Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
xen One tiny feature that accidentally got lost in the initial git pull: 2012-03-24 12:20:25 -07:00
zorro
Kconfig
Makefile