Fix scsi task management error message.

TMF's were getting error messages on FCP_RSP errors (underrun). Underruns
aren't meaningful in the scenario. Change the error message to filter out
these response check errors, and don't unconditionally mark the cmd as
in error.

Signed-off-by: Dick Kennedy <dick.kenn...@avagotech.com>
Signed-off-by: James Smart <james.sm...@avagotech.com>
---
 drivers/scsi/lpfc/lpfc_scsi.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index b3b195f..e5eb40d 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -5011,13 +5011,16 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct 
lpfc_rport_data *rdata,
                                          iocbq, iocbqrsp, lpfc_cmd->timeout);
        if ((status != IOCB_SUCCESS) ||
            (iocbqrsp->iocb.ulpStatus != IOSTAT_SUCCESS)) {
-               lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
-                        "0727 TMF %s to TGT %d LUN %llu failed (%d, %d) "
-                        "iocb_flag x%x\n",
-                        lpfc_taskmgmt_name(task_mgmt_cmd),
-                        tgt_id, lun_id, iocbqrsp->iocb.ulpStatus,
-                        iocbqrsp->iocb.un.ulpWord[4],
-                        iocbq->iocb_flag);
+               if (status != IOCB_SUCCESS ||
+                   iocbqrsp->iocb.ulpStatus != IOSTAT_FCP_RSP_ERROR)
+                       lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
+                                        "0727 TMF %s to TGT %d LUN %llu "
+                                        "failed (%d, %d) iocb_flag x%x\n",
+                                        lpfc_taskmgmt_name(task_mgmt_cmd),
+                                        tgt_id, lun_id,
+                                        iocbqrsp->iocb.ulpStatus,
+                                        iocbqrsp->iocb.un.ulpWord[4],
+                                        iocbq->iocb_flag);
                /* if ulpStatus != IOCB_SUCCESS, then status == IOCB_SUCCESS */
                if (status == IOCB_SUCCESS) {
                        if (iocbqrsp->iocb.ulpStatus == IOSTAT_FCP_RSP_ERROR)
@@ -5031,7 +5034,6 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct 
lpfc_rport_data *rdata,
                } else {
                        ret = FAILED;
                }
-               lpfc_cmd->status = IOSTAT_DRIVER_REJECT;
        } else
                ret = SUCCESS;
 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to