Home Home > GIT Browse > SLE12-SP3
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Thumshirn <jthumshirn@suse.de>2018-07-03 11:36:14 +0200
committerJohannes Thumshirn <jthumshirn@suse.de>2018-07-03 11:36:17 +0200
commitf6b4bf11e570c1f6306f9d5a5f7cfdc83cb3f32e (patch)
treeb129e88fb64f5347c75df9d1926bef575288c1fb
parentbed1e66c69f87103ee11e3aba311ad3b22f6836f (diff)
scsi: lpfc: Change IO submit return to EBUSY if remote port
is recovering (bsc#1092207). suse-commit: d509981f2362a2ddf327ef1ed96504daa8c15eb4
-rw-r--r--drivers/scsi/lpfc/lpfc_nvme.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/scsi/lpfc/lpfc_nvme.c b/drivers/scsi/lpfc/lpfc_nvme.c
index 1ed84100fba8..bfc5af772a7b 100644
--- a/drivers/scsi/lpfc/lpfc_nvme.c
+++ b/drivers/scsi/lpfc/lpfc_nvme.c
@@ -1340,8 +1340,8 @@ lpfc_nvme_fcp_io_submit(struct nvme_fc_local_port *pnvme_lport,
if (unlikely(!hw_queue_handle)) {
lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_ABTS,
- "6129 Fail Abort, NULL hw_queue_handle\n");
- ret = -EINVAL;
+ "6117 Fail Abort, NULL hw_queue_handle\n");
+ ret = -EBUSY;
goto out_fail;
}
@@ -1387,7 +1387,7 @@ lpfc_nvme_fcp_io_submit(struct nvme_fc_local_port *pnvme_lport,
"6066 Missing node for DID %x\n",
pnvme_rport->port_id);
atomic_inc(&lport->xmt_fcp_bad_ndlp);
- ret = -ENODEV;
+ ret = -EBUSY;
goto out_fail;
}
}
@@ -1397,11 +1397,12 @@ lpfc_nvme_fcp_io_submit(struct nvme_fc_local_port *pnvme_lport,
(ndlp->nlp_state != NLP_STE_MAPPED_NODE)) {
lpfc_printf_vlog(vport, KERN_ERR, LOG_NODE | LOG_NVME_IOERR,
"6036 rport %p, DID x%06x not ready for "
- "IO. State x%x, Type x%x\n",
+ "IO. State x%x, Type x%x Flg x%x\n",
rport, pnvme_rport->port_id,
- ndlp->nlp_state, ndlp->nlp_type);
+ ndlp->nlp_state, ndlp->nlp_type,
+ ndlp->upcall_flags);
atomic_inc(&lport->xmt_fcp_bad_ndlp);
- ret = -ENODEV;
+ ret = -EBUSY;
goto out_fail;
}