mirror of https://gitee.com/openkylin/linux.git
scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware
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>
This commit is contained in:
parent
bb6abdd453
commit
ec322937a7
|
@ -646,11 +646,14 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha,
|
||||||
break;
|
break;
|
||||||
case DSC_LS_PORT_UNAVAIL:
|
case DSC_LS_PORT_UNAVAIL:
|
||||||
default:
|
default:
|
||||||
if (fcport->loop_id != FC_NO_LOOP_ID)
|
if (fcport->loop_id == FC_NO_LOOP_ID) {
|
||||||
qla2x00_clear_loop_id(fcport);
|
qla2x00_find_new_loop_id(vha, fcport);
|
||||||
|
fcport->fw_login_state =
|
||||||
fcport->loop_id = loop_id;
|
DSC_LS_PORT_UNAVAIL;
|
||||||
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);
|
qla24xx_fcport_handle_login(vha, fcport);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue