]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
lpfc: Reject RDP ELS if port has no login
authorJames Smart <james.smart@broadcom.com>
Wed, 6 Jul 2016 19:35:58 +0000 (12:35 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 27 Feb 2017 06:12:58 +0000 (22:12 -0800)
Orabug: 25486030

Reject RDP ELS if port has no login

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 7d9333139ec0dd7fd1ffa69ad4ab4bf701481ac9)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/scsi/lpfc/lpfc_els.c

index 59aa904753beadb58fc1c59e8d076afc18011602..969087426628f8a61eaa4187426d8301b2dae9e3 100644 (file)
@@ -5253,6 +5253,12 @@ lpfc_els_rcv_rdp(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
                         be32_to_cpu(rdp_req->nport_id_desc.nport_id),
                         be32_to_cpu(rdp_req->nport_id_desc.length));
 
+       if (!(ndlp->nlp_flag & NLP_RPI_REGISTERED) &&
+           !phba->cfg_enable_SmartSAN) {
+               rjt_err = LSRJT_UNABLE_TPC;
+               rjt_expl = LSEXP_PORT_LOGIN_REQ;
+               goto error;
+       }
        if (sizeof(struct fc_rdp_nport_desc) !=
                        be32_to_cpu(rdp_req->rdp_des_length))
                goto rjt_logerr;