Message ID | 20190912180918.6436-8-hmadhani@marvell.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | qla2xxx: Bug fixes for the driver | expand |
On Thu, Sep 12, 2019 at 11:09:11AM -0700, Himanshu Madhani wrote: > From: Quinn Tran <qutran@marvell.com> > > For N2N, the NPort ID is assigned by driver in the PLOGI ELS. > According to FW Spec the byte order for SID is not the same as > DID. > > Signed-off-by: Quinn Tran <qutran@marvell.com> > Signed-off-by: Himanshu Madhani <hmadhani@marvell.com> > --- > drivers/scsi/qla2xxx/qla_iocb.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c > index e92e52aa6e9b..518eb954cf42 100644 > --- a/drivers/scsi/qla2xxx/qla_iocb.c > +++ b/drivers/scsi/qla2xxx/qla_iocb.c > @@ -2656,9 +2656,10 @@ qla24xx_els_logo_iocb(srb_t *sp, struct els_entry_24xx *els_iocb) > els_iocb->port_id[0] = sp->fcport->d_id.b.al_pa; > els_iocb->port_id[1] = sp->fcport->d_id.b.area; > els_iocb->port_id[2] = sp->fcport->d_id.b.domain; > - els_iocb->s_id[0] = vha->d_id.b.al_pa; > - els_iocb->s_id[1] = vha->d_id.b.area; > - els_iocb->s_id[2] = vha->d_id.b.domain; > + /* For SID the byte order is different than DID */ > + els_iocb->s_id[1] = vha->d_id.b.al_pa; > + els_iocb->s_id[2] = vha->d_id.b.area; > + els_iocb->s_id[0] = vha->d_id.b.domain; > > if (elsio->u.els_logo.els_cmd == ELS_DCMD_PLOGI) { > els_iocb->control_flags = 0; > -- > 2.12.0 > Yes, this is correct from FW/peer N_Port standpoint. Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> Thanks, Roman
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index e92e52aa6e9b..518eb954cf42 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -2656,9 +2656,10 @@ qla24xx_els_logo_iocb(srb_t *sp, struct els_entry_24xx *els_iocb) els_iocb->port_id[0] = sp->fcport->d_id.b.al_pa; els_iocb->port_id[1] = sp->fcport->d_id.b.area; els_iocb->port_id[2] = sp->fcport->d_id.b.domain; - els_iocb->s_id[0] = vha->d_id.b.al_pa; - els_iocb->s_id[1] = vha->d_id.b.area; - els_iocb->s_id[2] = vha->d_id.b.domain; + /* For SID the byte order is different than DID */ + els_iocb->s_id[1] = vha->d_id.b.al_pa; + els_iocb->s_id[2] = vha->d_id.b.area; + els_iocb->s_id[0] = vha->d_id.b.domain; if (elsio->u.els_logo.els_cmd == ELS_DCMD_PLOGI) { els_iocb->control_flags = 0;