1
linux/drivers
Darrick J. Wong 6d4dcd4dae [SCSI] libsas: Reset timer on taskless scsi_cmnds in sas_scsi_timed_out
Every so often, a scsi_cmnd will time out, and the libsas timeout handler
will discover that the scsi_cmnd does not have a sas_task attached to it.
This can happen in two cases: (1) the scsi_cmnd actually made it through
libsas to the HBA and is now going through scsi_done, or (2) the
scsi_cmnd has been held up (host lock, slab alloc, etc) and libsas has
not yet attached a sas_task.  In both cases, it is safe to ask SCSI for
more time to process the command via EH_RESET_TIMER; we cannot blindly
return EH_HANDLED because if (2) happens, we could end up calling
scsi_done while another CPU is heading towards sas_queuecommand, which
causes slab corruption when sas_task_done updates the freed scsi_cmnd.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-01-13 16:13:38 -06:00
..
acorn [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
acpi Revert "ACPI: ibm-acpi: make non-generic bay support optional" 2007-01-11 02:58:15 -05:00
amba
ata [PATCH] hpt37x: Two important bug fixes 2007-01-05 23:55:29 -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] Fix BUG at drivers/scsi/scsi_lib.c:1118 caused by "pktsetup dvd /dev/sr0" 2007-01-05 23:55:22 -08:00
bluetooth [Bluetooth] Correct SCO buffer for Broadcom based Dell laptops 2007-01-09 00:29:59 -08:00
cdrom [PATCH] cdrom: set default timeout to 7 seconds 2007-01-03 17:32:54 -08:00
char Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2007-01-11 18:25:20 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -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 [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
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 DRIVER_DESC macro 2007-01-09 13:24:25 +01:00
hwmon hwmon: New AMS hardware monitoring driver 2006-12-12 18:18:30 +01:00
i2c i2c/m41t00: Do not forget to write year 2007-01-05 17:54:05 +01:00
ide [PATCH] atiixp: Old drivers/ide layer driver for the ATIIXP hang fix 2007-01-05 23:55:22 -08:00
ieee1394 ieee1394: sbp2: fix probing of some DVD-ROM/RWs 2007-01-10 20:24:42 +01:00
infiniband IB/mthca: Don't execute QUERY_QP firmware command for QP in RESET state 2007-01-09 14:14:28 -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: add VM-exit profiling 2007-01-11 18:18:21 -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: pass down BIO_RW_SYNC in raid{1,10} 2007-01-11 18:18:21 -08:00
media V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging 2006-12-27 14:23:58 -02:00
message [SCSI] mptctl for mptsas 2007-01-13 13:51:31 -06:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc Pull platform-drivers into test branch 2006-12-20 02:52:17 -05:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2007-01-10 15:55:10 -08:00
mtd [PATCH] SPI/MTD: mtd_dataflash oops prevention 2006-12-30 10:56:42 -08:00
net [PATCH] PCMCIA: fix drivers broken by recent cleanup 2007-01-11 18:24:39 -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] increment pos before looking for the next cap in __pci_find_next_ht_cap 2007-01-11 18:18:20 -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-sh: correctly report rtc_wkalrm.enabled 2007-01-11 18:18:20 -08:00
s390 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-01-09 09:36:06 -08:00
sbus [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
scsi [SCSI] libsas: Reset timer on taskless scsi_cmnds in sas_scsi_timed_out 2007-01-13 16:13:38 -06:00
serial [PATCH] x86-64: modpost add more symbols to whitelist pattern2 2007-01-11 01:52:44 +01: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 [PATCH] really fix funsoft driver 2007-01-11 18:18:21 -08: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