linux/include
Yi Zou 3b64b18811 [SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO
In LUN RESET testing involving NetApp targets, it is observed that LUN
RESET is failing. The fc_fcp_resp() is not completing the completion
for the LUN RESET task since fc_fcp_resp assumes that the FCP_RSP_INFO
is 8 bytes with the 4 byte reserved field, where in case of NetApp targets
the FCP_RSP to LUN RESET only has 4 bytes of FCP_RSP_INFO. This leads
fc_fcp_resp to error out w/o completing the task completion, eventually
causing LUN RESET to be escalated to host reset, which is not very nice.

Per FCP-3 r04, clause 9.5.15 and Table 23, the FCP_RSP_INFO field can be either
4 bytes or 8 bytes, with the last 4 bytes as "Reserved (if any)". Therefore it
is valid to have 4 bytes FCP_RSP_INFO like some of the NetApp targets behave.
Fixing this by validating the FCP_RSP_INFO against both the two spec allowed
length.

Reported-by: Frank Zhang <frank_1.zhang@intel.com>
Signed-off-by: Yi Zou <yi.zou@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-10-07 11:52:55 +01:00
..
acpi cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure 2012-09-17 23:01:56 +02:00
asm-generic So this is the LW GPIO patch stack for v3.7: 2012-10-02 16:05:10 -07:00
clocksource arm64: Generic timers support 2012-09-17 13:42:20 +01:00
crypto
drm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2012-10-02 11:11:09 -07:00
keys
linux Features: 2012-10-02 22:09:10 -07:00
math-emu
media
memory
misc
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-10-02 13:38:27 -07:00
pcmcia
ras
rdma IB/core: Add ib_find_exact_cached_pkey() 2012-09-30 20:33:30 -07:00
rxrpc
scsi [SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO 2012-10-07 11:52:55 +01:00
sound
target
trace Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
video ARM: clps711x: Remove board support for CEIVA 2012-09-28 21:14:08 +02:00
xen Features: 2012-10-02 22:09:10 -07:00
Kbuild