Message ID | 20220308082048.9774-7-njavali@marvell.com |
---|---|
State | Superseded |
Headers | show |
Series | qla2xxx driver fixes | expand |
> On Mar 8, 2022, at 12:20 AM, Nilesh Javali <njavali@marvell.com> wrote: > > From: Quinn Tran <qutran@marvell.com> > > For N2N topology, ELS Passthrough is used to send PLOGI. > On failure of ELS pass through PLOGI, driver flipped over > to using LLIOCB PLOGI for N2N. This is not consistent. > This patch would delete the session to restart the > connection, where ELS pass through PLOGI would be used consistently. > > Cc: stable@vger.kernel.org > Fixes: c76ae845ea83 ("scsi: qla2xxx: Add error handling for PLOGI ELS passthrough") > Signed-off-by: Quinn Tran <qutran@marvell.com> > Signed-off-by: Nilesh Javali <njavali@marvell.com> > --- > drivers/scsi/qla2xxx/qla_iocb.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c > index 5e3ee1f7b43c..e0fe9ddb4bd2 100644 > --- a/drivers/scsi/qla2xxx/qla_iocb.c > +++ b/drivers/scsi/qla2xxx/qla_iocb.c > @@ -2958,6 +2958,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) > set_bit(ISP_ABORT_NEEDED, > &vha->dpc_flags); > qla2xxx_wake_dpc(vha); > + break; > } > fallthrough; > default: > @@ -2967,9 +2968,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) > fw_status[0], fw_status[1], fw_status[2]); > > fcport->flags &= ~FCF_ASYNC_SENT; > - qla2x00_set_fcport_disc_state(fcport, > - DSC_LOGIN_FAILED); > - set_bit(RELOGIN_NEEDED, &vha->dpc_flags); > + qlt_schedule_sess_for_deletion(fcport); > break; > } > break; > @@ -2981,8 +2980,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) > fw_status[0], fw_status[1], fw_status[2]); > > sp->fcport->flags &= ~FCF_ASYNC_SENT; > - qla2x00_set_fcport_disc_state(fcport, DSC_LOGIN_FAILED); > - set_bit(RELOGIN_NEEDED, &vha->dpc_flags); > + qlt_schedule_sess_for_deletion(fcport); > break; > } > > -- > 2.19.0.rc0 > Looks Good. Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> -- Himanshu Madhani Oracle Linux Engineering
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 5e3ee1f7b43c..e0fe9ddb4bd2 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -2958,6 +2958,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); qla2xxx_wake_dpc(vha); + break; } fallthrough; default: @@ -2967,9 +2968,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) fw_status[0], fw_status[1], fw_status[2]); fcport->flags &= ~FCF_ASYNC_SENT; - qla2x00_set_fcport_disc_state(fcport, - DSC_LOGIN_FAILED); - set_bit(RELOGIN_NEEDED, &vha->dpc_flags); + qlt_schedule_sess_for_deletion(fcport); break; } break; @@ -2981,8 +2980,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res) fw_status[0], fw_status[1], fw_status[2]); sp->fcport->flags &= ~FCF_ASYNC_SENT; - qla2x00_set_fcport_disc_state(fcport, DSC_LOGIN_FAILED); - set_bit(RELOGIN_NEEDED, &vha->dpc_flags); + qlt_schedule_sess_for_deletion(fcport); break; }