linux/drivers
Andrew Patterson bd1f46deba PCI: fix nested spinlock hang in aer_inject
The aer_inject module hangs in aer_inject() when checking the device's
error masks.  The hang is due to a recursive use of the aer_inject lock.
The aer_inject() routine grabs the lock while processing the error and then
calls pci_read_config_dword to read the masks. The pci_read_config_dword
routine is earlier overridden by pci_read_aer, which among other things,
grabs the aer_inject lock.

Fixed by moving the pci_read_config_dword calls to read the masks to before
the lock is taken.

Acked-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-25 10:42:52 -08:00
..
accessibility
acpi Merge branch 'resume-sci-force-bootparam' into release 2009-12-30 18:32:32 -05:00
amba
ata libata: retry link resume if necessary 2010-01-12 14:34:14 -05:00
atm
auxdisplay
base power: fix kernel-doc notation 2010-01-11 09:34:06 -08:00
block aoe: switch to the new bio_flush_dcache_pages() interface 2009-12-22 09:12:48 +01:00
bluetooth Bluetooth: Prevent ill-timed autosuspend in USB driver 2009-12-17 12:12:49 -08:00
cdrom
char Merge branch 'agp-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 2010-01-11 09:47:52 -08:00
clocksource
connector
cpufreq
cpuidle drivers/cpuidle/governors/menu.c: fix undefined reference to `__udivdi3' 2010-01-11 09:34:07 -08:00
crypto
dca
dio
dma Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-12-30 13:46:29 -08:00
edac edac, pci: remove pesky debug printk 2009-12-24 11:07:09 +01:00
eisa
firewire firewire, ieee1394: update Kconfig help 2009-12-29 19:58:17 +01:00
firmware
gpio gpio: adp5588-gpio: new driver for ADP5588 GPIO expanders 2010-01-11 09:34:07 -08:00
gpu Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-01-13 16:13:57 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2010-01-13 16:10:13 -08:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-01-11 09:45:55 -08:00
i2c i2c-omap: OMAP3: Fix I2C lockup during timeout/error cases 2009-12-24 01:30:54 +00:00
ide
idle
ieee1394 firewire, ieee1394: update Kconfig help 2009-12-29 19:58:17 +01:00
ieee802154
infiniband Merge branches 'misc' and 'mlx4' into for-next 2010-01-06 13:16:47 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-12-31 11:12:35 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-01-12 20:53:29 -08:00
leds
lguest lguest: fix bug in setting guest GDT entry 2010-01-04 12:33:33 -08:00
macintosh
mca
md md: allow a resync that is waiting for other resync to complete, to be aborted. 2009-12-30 15:25:23 +11:00
media firewire: fix use of multiple AV/C devices, allow multiple FCP listeners 2009-12-29 19:58:16 +01:00
memstick
message i2o: propogate the BKL down into the ioctl method 2010-01-04 12:31:21 -08:00
mfd twl4030-irq.c: fix compiler warning due to raw-spinlock conversion 2009-12-31 17:26:05 -08:00
misc Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-17 16:38:48 -08:00
mmc mmc: allow for MMC v4.4 2010-01-11 09:34:06 -08:00
mtd Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2009-12-17 16:38:06 -08:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-01-14 08:36:15 -08:00
nubus
of
oprofile
parisc
parport
pci PCI: fix nested spinlock hang in aer_inject 2010-01-25 10:42:52 -08:00
pcmcia Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-30 13:13:24 -08:00
platform hp-wmi: remove double free caused by merge conflict 2010-01-01 14:04:25 -05:00
pnp
power pmu_battery: Fix battery full reporting 2009-12-18 03:51:29 +03:00
pps
ps3
rapidio
regulator
rtc rtc_cmos: convert shutdown to new pnp_driver->shutdown 2010-01-11 09:34:07 -08:00
s390 [S390] tape_char: add missing compat_ptr conversion 2010-01-13 20:44:46 +01:00
sbus bbc_envctrl: Clean up properly if kthread_run() fails. 2010-01-04 15:31:10 -08:00
scsi [SCSI] megaraid_sas: remove sysfs poll_mode_io world writeable permissions 2010-01-12 21:12:36 -08:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-arm 2010-01-12 20:56:01 -08:00
sfi
sh
sn
spi Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 2009-12-17 15:59:05 -08:00
ssb
staging Staging/vt66*: kconfig, depends on WLAN 2009-12-23 11:27:50 -08:00
tc
telephony
thermal
uio
usb USB: Fix a bug on appledisplay.c regarding signedness 2009-12-23 11:34:20 -08:00
uwb
video Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-01-12 21:04:04 -08:00
virtio
vlynq
w1
watchdog [WATCHDOG] use resource_size() 2009-12-23 19:53:04 +00:00
xen xen: fix hang on suspend. 2010-01-13 10:01:35 +00:00
zorro
Kconfig firewire, ieee1394: update Kconfig help 2009-12-29 19:58:17 +01:00
Makefile