[SCSI] lpfc 8.3.42: Back out data count,(residual fcfi_parm) fix for bad target.
authorJames Smart <james.smart@emulex.com>
Fri, 6 Sep 2013 16:19:17 +0000 (12:19 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 11 Sep 2013 00:05:18 +0000 (17:05 -0700)
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_scsi.c

index 49916a9..46c4f1b 100644 (file)
@@ -3966,11 +3966,11 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
 
        /*
         * Check SLI validation that all the transfer was actually done
-        * (fcpi_parm should be zero).
+        * (fcpi_parm should be zero). Apply check only to reads.
         */
-       } else if (fcpi_parm) {
+       } else if (fcpi_parm && (cmnd->sc_data_direction == DMA_FROM_DEVICE)) {
                lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP | LOG_FCP_ERROR,
-                                "9029 FCP Data Transfer Check Error: "
+                                "9029 FCP Read Check Error Data: "
                                 "x%x x%x x%x x%x x%x\n",
                                 be32_to_cpu(fcpcmd->fcpDl),
                                 be32_to_cpu(fcprsp->rspResId),