original_kernel/drivers
Meelis Roos 7b7a799d66 sunhme: Fix Quattro HME irq registration on proble failures
Currently, the sunhme driver installs SBus Quattro interrupt handler 
when at least one HME card was initialized correctly and at least one 
Quattro card is present. This breaks when a Quattro card fails 
initialization for whatever reason - IRQ is registered and OOPS happens 
when it fires.

The solution, as suggested by David Miller, was to keep track which 
cards of the Quattro bundles have been initialized, and request/free the 
Quattro IRQ only when all four devices have been successfully 
initialized.

The patch only touches SBus initialization - PCI init already resets the 
card pointer to NULL on init failure.

The patch has been tested on Sun E3500 with SBus and PCI single HME 
cards and one PCI Quattro HME card in a situation where any PCI card 
failed init when the SBus routines tried to init them by mistake.

Additionally it replaces Quattro request_irq panic with error return - 
if this card fails to work, at least let the others work.

Tested on E450 with PCI HME and PCI Quad HME.

[ Minor coding style fixups -DaveM ]

Signed-off-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-10 17:29:42 -08:00
..
accessibility
acpi
amba
ata sata_sil: Fix build breakage 2009-01-29 18:19:30 -08:00
atm fore200: fix oops on failed firmware load 2009-02-10 17:19:19 -08:00
auxdisplay
base
block
bluetooth
cdrom
char Fix memory corruption in console selection 2009-01-31 15:51:31 -08:00
clocksource
connector
cpufreq
cpuidle
crypto
dca dca: redesign locks to fix deadlocks 2009-02-02 23:26:57 -08:00
dio
dma
edac
eisa
firewire
firmware
gpio gpiolib: fix request related issue 2009-01-29 18:04:43 -08:00
gpu Stop playing silly games with the VM_ACCOUNT flag 2009-01-31 15:08:56 -08:00
hid
hwmon hwmon: applesmc: add support for MacPro 3 temperature sensors 2009-01-29 18:04:45 -08:00
i2c
ide icside: fix PCB version 6 support (v2) 2009-02-02 20:12:23 +01:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-01-29 18:09:41 -08:00
infiniband
input
isdn drivers/isdn: introduce missing kfree 2009-02-08 17:00:49 -08:00
leds
lguest
macintosh
mca
md
media V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning 2009-02-01 10:41:02 -02:00
memstick
message
mfd
misc sgi-xp: link XPNET's net_device_ops to its net_device structure 2009-02-03 15:16:48 -08:00
mmc pxamci: enable DMA for write ops after CMD/RESP 2009-02-02 20:57:07 +01:00
mtd Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 2009-01-29 18:12:58 -08:00
net sunhme: Fix Quattro HME irq registration on proble failures 2009-02-10 17:29:42 -08:00
nubus
of
oprofile
parisc Documentation: move DMA-mapping.txt to Doc/PCI/ 2009-01-29 18:19:29 -08:00
parport
pci
pcmcia
platform hp-wmi: set initial docking state 2009-01-29 18:04:45 -08:00
pnp
power
ps3
rapidio
regulator leds: Fix bounds checking of wm8350->pmic.led 2009-01-30 21:50:49 +00:00
rtc
s390
sbus
scsi
serial Add enable_ms to jsm driver 2009-01-30 08:40:54 -08:00
sh
sn
spi
ssb
staging Documentation: move DMA-mapping.txt to Doc/PCI/ 2009-01-29 18:19:29 -08:00
tc
telephony
thermal
uio
usb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream 2009-02-02 17:52:39 +00:00
uwb
video Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-02-02 19:26:44 -08:00
virtio virtio-pci: do not oops on config change if driver not loaded 2009-02-02 19:17:56 -08:00
w1
watchdog
xen
zorro
Kconfig
Makefile