aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Dupuis <[email protected]>2015-10-19 15:40:38 -0400
committerJames Bottomley <[email protected]>2015-11-09 17:30:49 -0800
commitadcf7dfbea80382457a552b4eb7aa2b7d9f76dac (patch)
treeed3f8bad81600874e01f2f973d86d2db64e1d5a7
parent1fffa19991b5a907303ca3f09cf3d8e91b0bd911 (diff)
bnx2fc: Fix FCP RSP residual parsing.
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Chad Dupuis <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
-rw-r--r--drivers/scsi/bnx2fc/bnx2fc_io.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index 30916fd3a9f0..8ae0621dbe28 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -1759,7 +1759,10 @@ static void bnx2fc_parse_fcp_rsp(struct bnx2fc_cmd *io_req,
int fcp_rsp_len = 0;
io_req->fcp_status = FC_GOOD;
- io_req->fcp_resid = fcp_rsp->fcp_resid;
+ io_req->fcp_resid = 0;
+ if (rsp_flags & (FCOE_FCP_RSP_FLAGS_FCP_RESID_OVER |
+ FCOE_FCP_RSP_FLAGS_FCP_RESID_UNDER))
+ io_req->fcp_resid = fcp_rsp->fcp_resid;
io_req->scsi_comp_flags = rsp_flags;
CMD_SCSI_STATUS(sc_cmd) = io_req->cdb_status =