linux/drivers
Ard van Breemen 6ae4adf503 [PATCH] PCI: prevent down_read when pci_devices is empty
The pci_find_subsys gets called very early by obsolete ide setup parameters.
This is a bogus call since pci is not initialized yet, so the list is empty.
But in the mean time, interrupts get enabled by down_read.  This can result in
a kernel panic when the irq controller gets initialized.

This patch checks if the device list is empty before taking the semaphore, and
hence will not enable irq's.  Furthermore it will inform that it is called
while pci_devices is empty as a reminder that the ide code needs to be fixed.

The pci_get_subsys can get called in the same manner, and as such is patched
in the same manner.

[akpm@osdl.org: cleanups]
Signed-off-by: Ard van Breemen <ard@telegraafnet.nl>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2007-01-05 23:55:21 -08:00
..
acorn [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
acpi ACPI: EC: move verbose printk to debug build only 2007-01-02 00:12:19 -05:00
amba
ata [PATCH] libata: fix combined mode 2007-01-02 08:20:51 -08:00
atm [ATM] drivers/atm/fore200e.c: Cleanups. 2006-12-22 11:12:00 -08:00
base [PATCH] fix kernel-doc warnings in 2.6.20-rc1 2006-12-22 08:55:47 -08:00
block [PATCH] cciss: build with PROC_FS=n 2006-12-30 10:56:42 -08:00
bluetooth [PATCH] bluetooth: add support for another Kensington dongle 2006-12-20 11:29:29 -08:00
cdrom [PATCH] cdrom: set default timeout to 7 seconds 2007-01-03 17:32:54 -08:00
char Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2007-01-03 17:34:54 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector [CONNECTOR]: Replace delayed work with usual work queue. 2006-12-18 01:53:58 -08:00
cpufreq [CPUFREQ] Bug fix for acpi-cpufreq and cpufreq_stats oops on frequency change notification 2006-12-22 22:45:41 -05:00
crypto [PATCH] geode crypto is PCI device 2006-12-10 09:55:40 -08:00
dio
dma
edac
eisa
fc4 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
firmware
hid HID: fix help texts in Kconfig 2007-01-04 11:43:35 +01:00
hwmon hwmon: New AMS hardware monitoring driver 2006-12-12 18:18:30 +01:00
i2c Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2006-12-13 09:13:19 -08:00
ide [PATCH] PIIX/SLC90E66: PIO mode fallback fix 2006-12-30 10:56:43 -08:00
ieee1394 ieee1394: sbp2: fix bogus dma mapping 2006-12-30 14:26:59 +01:00
infiniband [PATCH] IB/mthca: Fix FMR breakage caused by kmemdup() conversion 2006-12-30 10:55:55 -08:00
input [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
isdn [PATCH] Call init_timer() for ISDN PPP CCP reset state timer 2006-12-22 14:31:24 -08:00
kvm [PATCH] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu() 2006-12-30 10:56:44 -08:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh [PATCH] Fix implicit declarations in via-pmu 2007-01-05 23:55:21 -08:00
mca
md [PATCH] md: fix a few problems with the interface (sysfs and ioctl) to md 2006-12-22 08:55:51 -08:00
media V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging 2006-12-27 14:23:58 -02:00
message [PATCH] fix kernel-doc warnings in 2.6.20-rc1 2006-12-22 08:55:47 -08:00
mfd
misc Pull platform-drivers into test branch 2006-12-20 02:52:17 -05:00
mmc AT91 MMC update for 2.6.19 2006-12-11 12:43:35 +01:00
mtd [PATCH] SPI/MTD: mtd_dataflash oops prevention 2006-12-30 10:56:42 -08:00
net [SUNGEM]: PHY updates & pause fixes (#2) 2007-01-03 18:54:43 -08:00
nubus
oprofile [PATCH] struct path: convert oprofile 2006-12-08 08:28:48 -08:00
parisc [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
parport [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pci [PATCH] PCI: prevent down_read when pci_devices is empty 2007-01-05 23:55:21 -08:00
pcmcia [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
pnp [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
ps3 [POWERPC] ps3: Add vuart support 2006-12-11 13:49:53 +11:00
rapidio
rtc [PATCH] rtc framewok: rtc_wkalrm.enabled reporting updates 2006-12-13 09:05:52 -08:00
s390 [S390] cio: fix stsch_reset. 2006-12-28 00:35:36 +01:00
sbus [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
scsi [PATCH] powerpc iseries link error in allmodconfig 2006-12-30 10:55:54 -08:00
serial [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
sh
sn
spi [PATCH] spi_s3c24xx_gpio: use right header 2006-12-30 10:56:43 -08:00
tc [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
telephony [PATCH] struct path: convert ixj 2006-12-08 08:28:46 -08:00
usb HID: fix help texts in Kconfig 2007-01-04 11:43:35 +01:00
video backlight: fix backlight_device_register compile failures 2007-01-02 00:06:18 -05:00
w1 [PATCH] w1: Fix for kconfig entry typo 2006-12-13 09:05:48 -08:00
zorro [PATCH] struct path: convert zorro 2006-12-08 08:28:50 -08:00
Kconfig [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
Makefile [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00