bnx2fc: Fix FCP RSP residual parsing.
authorChad Dupuis <chad.dupuis@qlogic.com>
Mon, 19 Oct 2015 19:40:38 +0000 (15:40 -0400)
committerJames Bottomley <JBottomley@Odin.com>
Tue, 10 Nov 2015 01:30:49 +0000 (17:30 -0800)
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>
drivers/scsi/bnx2fc/bnx2fc_io.c

index 30916fd3a9f01f57a626966c0941bb169b94aa29..8ae0621dbe2896f2ac03a2fcd219a7ea4a004aef 100644 (file)
@@ -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 =