Message ID | 577d5d9e.DGbam2YjJ7SVt9GU%james.smart@broadcom.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On 07/06/2016 09:35 PM, James Smart wrote: > > 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> > --- > drivers/scsi/lpfc/lpfc_els.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c > index 02e3a1f..861270e 100644 > --- a/drivers/scsi/lpfc/lpfc_els.c > +++ b/drivers/scsi/lpfc/lpfc_els.c > @@ -5243,6 +5243,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; > Reviewed-by: Hannes Reinecke <hare@suse.com> Cheers, Hannes
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 02e3a1f..861270e 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -5243,6 +5243,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;