| From ea32a0df00cb3601b88c38b322dc19bec06d41f9 Mon Sep 17 00:00:00 2001 |
| From: James Smart <jsmart2021@gmail.com> |
| Date: Mon, 6 May 2019 17:26:49 -0700 |
| Subject: scsi: lpfc: add check for loss of ndlp when sending RRQ |
| |
| [ Upstream commit c8cb261a072c88ca1aff0e804a30db4c7606521b ] |
| |
| There was a missing qualification of a valid ndlp structure when calling to |
| send an RRQ for an abort. Add the check. |
| |
| Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> |
| Signed-off-by: James Smart <jsmart2021@gmail.com> |
| Tested-by: Bart Van Assche <bvanassche@acm.org> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/lpfc/lpfc_els.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c |
| index 57cddbc4a977..ddd29752d96d 100644 |
| --- a/drivers/scsi/lpfc/lpfc_els.c |
| +++ b/drivers/scsi/lpfc/lpfc_els.c |
| @@ -7065,7 +7065,10 @@ int |
| lpfc_send_rrq(struct lpfc_hba *phba, struct lpfc_node_rrq *rrq) |
| { |
| struct lpfc_nodelist *ndlp = lpfc_findnode_did(rrq->vport, |
| - rrq->nlp_DID); |
| + rrq->nlp_DID); |
| + if (!ndlp) |
| + return 1; |
| + |
| if (lpfc_test_rrq_active(phba, ndlp, rrq->xritag)) |
| return lpfc_issue_els_rrq(rrq->vport, ndlp, |
| rrq->nlp_DID, rrq); |
| -- |
| 2.20.1 |
| |