summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Dupuis <chad.dupuis@qlogic.com>2015-10-19 22:40:38 +0300
committerJames Bottomley <JBottomley@Odin.com>2015-11-10 04:30:49 +0300
commitadcf7dfbea80382457a552b4eb7aa2b7d9f76dac (patch)
treeed3f8bad81600874e01f2f973d86d2db64e1d5a7
parent1fffa19991b5a907303ca3f09cf3d8e91b0bd911 (diff)
downloadlinux-adcf7dfbea80382457a552b4eb7aa2b7d9f76dac.tar.xz
bnx2fc: Fix FCP RSP residual parsing.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
-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 =