linux/drivers
Mark Haverkamp 03d4433721 [SCSI] aacraid: Improved error handling
Received from Mark Salyzyn,

This set of fixes improve error handling stability of the driver. A popular
manifestation of the problems is an NULL pointer reference in the interrupt
handler when referencing portions of the scsi command context, or in the
scsi_done handling when an offlined device is referenced.

The aacraid driver currently does not get notification of orphaned command
completions due to devices going offline. The driver also fails to handle the
commands that are finished by the error handler, and thus can complete again
later at the hands of the adapter causing situations of completion of an
invalid scsi command context. Test Unit Ready calls abort assuming that the
abort was successful, but are not, and thus when the interrupt from the adapter
occurs, they reference invalid command contexts. We add in a TIMED_OUT flag to
inform the aacraid FIB context that the interrupt service should merely release
the driver resources and not complete the command up. We take advantage of this
with the abort handler as well for select abortable commands. And we detect and
react if a command that can not be aborted is currently still outstanding to
the controller when reissued by the retry mechanism.

Signed-off-by: Mark Haverkamp <markh@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-03-20 10:56:03 -05:00
..
acorn [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
acpi Pull misc-for-upstream into release branch 2007-03-09 23:19:50 -05:00
amba
ata Pull bugzilla-7907 into release branch 2007-03-09 23:18:53 -05:00
atm
auxdisplay
base driver core: export device_rename 2007-03-09 15:32:58 -08:00
block [PATCH] initramfs should not depend on CONFIG_BLOCK 2007-03-06 09:30:25 -08:00
bluetooth [Bluetooth] Make use of MODULE_FIRMWARE 2007-02-26 11:42:42 -08:00
cdrom [PATCH] Fix soft lockup with iSeries viocd driver 2007-03-05 07:57:51 -08:00
char [CHAR] ds1286: Fix handling of seconds in RTC_ALM_SET ioctl. 2007-03-08 01:10:30 +00:00
clocksource [PATCH] clocksource init adjustments (fix bug #7426) 2007-03-05 07:57:53 -08:00
connector [CONNECTOR]: Bugfix for cn_call_callback() 2007-03-07 16:08:08 -08:00
cpufreq Revert "[CPUFREQ] constify cpufreq_driver where possible." 2007-02-26 14:55:48 -08:00
crypto [PATCH] geode-aes: use unsigned long for spin_lock_irqsave 2007-03-06 09:30:25 -08:00
dio
dma
edac
eisa
fc4
firmware
hid HID: fix Logitech DiNovo Edge touchwheel and Logic3 /SpectraVideo middle button 2007-03-01 09:54:44 +01:00
hwmon
i2c [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
ide ide: make legacy IDE VLB modules check for the "probe" kernel params (v2) 2007-03-03 17:48:55 +01:00
ieee1394
infiniband [SCSI] iscsi: rename DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH 2007-03-11 11:26:50 -05:00
input Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2007-03-08 07:28:30 -08:00
isdn [PATCH] Fix buffer overflow and races in capi debug functions 2007-03-01 14:53:39 -08:00
kvm KVM: Move kvmfs magic number to <linux/magic.h> 2007-03-04 11:12:43 +02:00
leds
macintosh
mca
md [PATCH] md: fix for raid6 reshape 2007-03-05 07:57:53 -08:00
media V4L/DVB (5260): Cx88-blackbird: allow usage of both 376836 and 262144 sized firmware images 2007-03-03 10:14:36 -02:00
message [SCSI] fusion: kernel-doc warning fixes 2007-03-20 10:47:23 -05:00
mfd [PATCH] drivers/mfd/sm501.c: Replace pci_module_init with pci_register_driver 2007-02-26 12:35:47 -08:00
misc asus-laptop: make code static 2007-03-09 21:06:40 -05:00
mmc sdhci: release irq during suspend 2007-03-06 13:38:49 +01:00
mtd [MTD] [OneNAND] Classify the page data and oob buffer 2007-03-09 08:08:09 +00:00
net Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes 2007-03-09 11:58:11 -05:00
nubus
oprofile
parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6 2007-02-26 12:48:06 -08:00
parport
pci pci: fix section mismatch warning 2007-03-09 15:36:30 -08:00
pcmcia
pnp ACPI: fix parallel port IRQ after resume from S3 2007-03-08 23:29:29 -05:00
ps3
rapidio
rtc [ARM] rtc-pcf8583: Final fixes for this RTC on RiscPC 2007-03-04 20:33:07 +00:00
s390 [SCSI] zfcp: fix likely/unlikely usage 2007-03-11 11:12:36 -05:00
sbus
scsi [SCSI] aacraid: Improved error handling 2007-03-20 10:56:03 -05:00
serial [PATCH] 2.6 Altix: console fix for CONFIG_DEBUG_SHIRQ usage 2007-03-08 07:39:15 -08:00
sh
sn
spi
tc
telephony
usb Revert "USB: pxa2xx_udc: fix hardcoded irq number" 2007-03-10 14:22:07 -08:00
video [PATCH] fbdev: fix kconfig error if FB_DDC=n 2007-03-06 09:30:24 -08:00
w1
zorro
Kconfig
Makefile