From: James Smart Date: Wed, 6 Jul 2016 19:35:58 +0000 (-0700) Subject: lpfc: Reject RDP ELS if port has no login X-Git-Tag: v4.1.12-92~2^2~109 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4f3e875372a95b6945926ccda5ba9fe97b2c4f0e;p=users%2Fjedix%2Flinux-maple.git lpfc: Reject RDP ELS if port has no login Orabug: 25486030 Reject RDP ELS if port has no login Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke Signed-off-by: Martin K. Petersen (cherry picked from commit 7d9333139ec0dd7fd1ffa69ad4ab4bf701481ac9) Signed-off-by: Brian Maly --- diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 59aa904753bea..969087426628f 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -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;