mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware
commitec322937a7
upstream. 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:
parent
f4a9fd5652
commit
d8ae662b40
1 changed files with 8 additions and 5 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue