scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware
commitec322937a7upstream. This patch fixes LUN discovery when loop ID is not yet assigned by the firmware during driver load/sg_reset operations. Driver will now search for new loop id before retrying login. Fixes:48acad0990("scsi: qla2xxx: Fix N2N link re-connect") Cc: stable@vger.kernel.org #4.19 Signed-off-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f4a9fd5652
commit
d8ae662b40
@ -643,11 +643,14 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha,
|
||||
break;
|
||||
case DSC_LS_PORT_UNAVAIL:
|
||||
default:
|
||||
if (fcport->loop_id != FC_NO_LOOP_ID)
|
||||
qla2x00_clear_loop_id(fcport);
|
||||
|
||||
fcport->loop_id = loop_id;
|
||||
fcport->fw_login_state = DSC_LS_PORT_UNAVAIL;
|
||||
if (fcport->loop_id == FC_NO_LOOP_ID) {
|
||||
qla2x00_find_new_loop_id(vha, fcport);
|
||||
fcport->fw_login_state =
|
||||
DSC_LS_PORT_UNAVAIL;
|
||||
}
|
||||
ql_dbg(ql_dbg_disc, vha, 0x20e5,
|
||||
"%s %d %8phC\n", __func__, __LINE__,
|
||||
fcport->port_name);
|
||||
qla24xx_fcport_handle_login(vha, fcport);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user