Commit c13ce47c authored by Quinn Tran's avatar Quinn Tran Committed by Martin K. Petersen
Browse files

scsi: qla2xxx: Fix N2N inconsistent PLOGI

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. Delete the session to restart the connection where ELS
pass through PLOGI would be used consistently.

Link: https://lore.kernel.org/r/20220310092604.22950-7-njavali@marvell.com


Fixes: c76ae845 ("scsi: qla2xxx: Add error handling for PLOGI ELS passthrough")
Cc: stable@vger.kernel.org
Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: default avatarQuinn Tran <qutran@marvell.com>
Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 09722524
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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;
		}