Loading drivers/scsi/qla2xxx/qla_init.c +35 −29 Original line number Diff line number Diff line Loading @@ -580,10 +580,6 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, if (!found) { /* fw has no record of this port */ if (fcport->loop_id == FC_NO_LOOP_ID) { qla2x00_find_new_loop_id(vha, fcport); fcport->fw_login_state = DSC_LS_PORT_UNAVAIL; } else { for (i = 0; i < n; i++) { e = &vha->gnl.l[i]; id.b.domain = e->port_id[0]; Loading @@ -596,7 +592,6 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, conflict_fcport = qla2x00_find_fcport_by_wwpn(vha, e->port_name, 0); ql_dbg(ql_dbg_disc, vha, 0x20e6, "%s %d %8phC post del sess\n", __func__, __LINE__, Loading @@ -605,11 +600,9 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, (conflict_fcport, 1); } if (fcport->loop_id == loop_id) { /* FW already picked this loop id for another fcport */ qla2x00_find_new_loop_id(vha, fcport); } } if (fcport->loop_id == loop_id) fcport->loop_id = FC_NO_LOOP_ID; } qla24xx_fcport_handle_login(vha, fcport); } Loading Loading @@ -1104,6 +1097,7 @@ void qla24xx_handle_gpdb_event(scsi_qla_host_t *vha, struct event_arg *ea) static void qla_chk_n2n_b4_login(struct scsi_qla_host *vha, fc_port_t *fcport) { u8 login = 0; int rc; if (qla_tgt_mode_enabled(vha)) return; Loading @@ -1129,6 +1123,18 @@ static void qla_chk_n2n_b4_login(struct scsi_qla_host *vha, fc_port_t *fcport) } if (login) { if (fcport->loop_id == FC_NO_LOOP_ID) { fcport->fw_login_state = DSC_LS_PORT_UNAVAIL; rc = qla2x00_find_new_loop_id(vha, fcport); if (rc) { ql_dbg(ql_dbg_disc, vha, 0x20e6, "%s %d %8phC post del sess - out of loopid\n", __func__, __LINE__, fcport->port_name); fcport->scan_state = 0; qlt_schedule_sess_for_deletion(fcport, true); return; } } ql_dbg(ql_dbg_disc, vha, 0x20bf, "%s %d %8phC post login\n", __func__, __LINE__, fcport->port_name); Loading Loading
drivers/scsi/qla2xxx/qla_init.c +35 −29 Original line number Diff line number Diff line Loading @@ -580,10 +580,6 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, if (!found) { /* fw has no record of this port */ if (fcport->loop_id == FC_NO_LOOP_ID) { qla2x00_find_new_loop_id(vha, fcport); fcport->fw_login_state = DSC_LS_PORT_UNAVAIL; } else { for (i = 0; i < n; i++) { e = &vha->gnl.l[i]; id.b.domain = e->port_id[0]; Loading @@ -596,7 +592,6 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, conflict_fcport = qla2x00_find_fcport_by_wwpn(vha, e->port_name, 0); ql_dbg(ql_dbg_disc, vha, 0x20e6, "%s %d %8phC post del sess\n", __func__, __LINE__, Loading @@ -605,11 +600,9 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, (conflict_fcport, 1); } if (fcport->loop_id == loop_id) { /* FW already picked this loop id for another fcport */ qla2x00_find_new_loop_id(vha, fcport); } } if (fcport->loop_id == loop_id) fcport->loop_id = FC_NO_LOOP_ID; } qla24xx_fcport_handle_login(vha, fcport); } Loading Loading @@ -1104,6 +1097,7 @@ void qla24xx_handle_gpdb_event(scsi_qla_host_t *vha, struct event_arg *ea) static void qla_chk_n2n_b4_login(struct scsi_qla_host *vha, fc_port_t *fcport) { u8 login = 0; int rc; if (qla_tgt_mode_enabled(vha)) return; Loading @@ -1129,6 +1123,18 @@ static void qla_chk_n2n_b4_login(struct scsi_qla_host *vha, fc_port_t *fcport) } if (login) { if (fcport->loop_id == FC_NO_LOOP_ID) { fcport->fw_login_state = DSC_LS_PORT_UNAVAIL; rc = qla2x00_find_new_loop_id(vha, fcport); if (rc) { ql_dbg(ql_dbg_disc, vha, 0x20e6, "%s %d %8phC post del sess - out of loopid\n", __func__, __LINE__, fcport->port_name); fcport->scan_state = 0; qlt_schedule_sess_for_deletion(fcport, true); return; } } ql_dbg(ql_dbg_disc, vha, 0x20bf, "%s %d %8phC post login\n", __func__, __LINE__, fcport->port_name); Loading