kernel_optimize_test/drivers
Hiral Patel a0bf1ca27b [SCSI] fnic: fnic driver may hit BUG_ON on device reset
The issue was observed when LUN Reset is issued through IOCTL or sg_reset
utility.

fnic driver issues LUN RESET to firmware. On successful completion of device
reset, driver cleans up all the pending IOs that were issued prior to device
reset. These pending IOs are expected to be in ABTS_PENDING state. This works
fine, when the device reset operation resulted from midlayer, but not when
device reset was triggered from IOCTL path as the pending IOs were not in
ABTS_PENDING state. execution path hits panic if the pending IO is not in
ABTS_PENDING state.

Changes:
The fix replaces BUG_ON check in fnic_clean_pending_aborts() with marking
pending IOs as ABTS_PENDING if they were not in ABTS_PENDING state and skips
if they were already in ABTS_PENDING state. An extra check is added to validate
the abort status of the commands after a delay of 2 * E_D_TOV using a
helper function. The helper function returns 1 if it finds any pending IO in
ABTS_PENDING state, belong to the LUN on which device reset was issued else 0.
With this, device reset operation returns success only if the helper funciton
returns 0, otherwise it returns failure.

Other changes:
- Removed code in fnic_clean_pending_aborts() that returns failure if it finds
  io_req NULL, instead of returning failure added code to continue with next io
- Added device reset flags for debugging in fnic_terminate_rport_io,
  fnic_rport_exch_reset, and fnic_clean_pending_aborts

Signed-off-by: Narsimhulu Musini <nmusini@cisco.com>
Signed-off-by: Hiral Patel <hiralpat@cisco.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-02-22 17:30:19 +00:00
..
accessibility
acpi
amba
ata
atm
auxdisplay
base Merge remote-tracking branch 'regmap/fix/debugfs' into tmp 2013-01-24 19:04:16 +08:00
bcma
block
bluetooth
bus
cdrom
char
clk mvebu fixes for v3.8-rc5 2013-01-23 20:30:52 -08:00
clocksource
connector
cpufreq cpufreq: Add module aliases for acpi-cpufreq 2013-01-22 22:33:46 +01:00
cpuidle
crypto
dca
devfreq
dio
dma Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma 2013-01-24 10:17:49 -08:00
edac
eisa
extcon
firewire
firmware
gpio
gpu
hid
hsi
hv
hwmon
hwspinlock
i2c
ide
idle
iio
infiniband
input
iommu IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround 2013-01-28 15:26:54 +01:00
ipack
irqchip
isdn
leds
lguest
macintosh
md DM-RAID: Fix RAID10's check for sufficient redundancy 2013-01-24 12:02:36 +11:00
media ARM: arm-soc: Fixes for 3.8-rc, take 2 2013-01-24 12:42:50 -08:00
memory
memstick
message
mfd This is the first pull request for MFD fixes for 3.8 2013-01-28 11:51:57 -08:00
misc Revert "drivers/misc/ti-st: remove gpio handling" 2013-01-22 17:22:47 -08:00
mmc This is the first pull request for MFD fixes for 3.8 2013-01-28 11:51:57 -08:00
mtd
net dm9601: support dm9620 variant 2013-01-28 00:18:04 -05:00
nfc
nubus
of
oprofile
parisc
parport
pci PCI updates for v3.8: 2013-01-22 16:36:23 -08:00
pcmcia
pinctrl
platform
pnp
power
pps
ps3
ptp
pwm
rapidio
regulator
remoteproc
rpmsg
rtc
s390
sbus
scsi [SCSI] fnic: fnic driver may hit BUG_ON on device reset 2013-02-22 17:30:19 +00:00
sfi
sh
sn
spi
ssb
staging
target
tc
thermal
tty
uio
usb USB: EHCI: fix build error in ehci-mxc 2013-01-23 11:27:08 -08:00
uwb
vfio
vhost
video This is yet another critical imxfb fixes held off by absence of FB 2013-01-23 20:35:02 -08:00
virt
virtio
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile