[SCSI] libfc: fixed a read IO data integrity issue when a IO data frame lost
commit26d9cab558f901051d0b69b2c445c8588931ce8d
authorVasu Dev <vasu.dev@intel.com>
Fri, 27 Feb 2009 18:55:07 +0000 (27 10:55 -0800)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 6 Mar 2009 21:40:06 +0000 (6 15:40 -0600)
tree5b7a89a39ba823ef1d1583971a3ec16906aadd83
parent6755db1cd4587084be85f860b7aa7c0cc9d776dc
[SCSI] libfc: fixed a read IO data integrity issue when a IO data frame lost

The fc_fcp_complete_locked detected data underrun in this case and set
the FC_DATA_UNDRUN but that was ignored by fc_io_compl for all cases
including read underrun.

Added code to not to ignore FC_DATA_UNDRUN for read IO and instead
suggested scsi-ml to retry cmd to  recover from lost data frame.

Not sure if it is okay to ignore FC_DATA_UNDRUN for other case, so let
code as is for other cases but removed or-ing with zero valued fsp->cdb_status
for those cases.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/libfc/fc_fcp.c