mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 02:31:27 +00:00
qla2x00t-32gbit: Fix-up for r8552
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8553 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -4254,14 +4254,13 @@ static void qla2x00_async_gnnid_sp_done(srb_t *sp, int res)
|
||||
ea.fcport = fcport;
|
||||
ea.sp = sp;
|
||||
ea.rc = res;
|
||||
ea.event = FCME_GNNID_DONE;
|
||||
|
||||
ql_dbg(ql_dbg_disc, vha, 0x204f,
|
||||
"Async done-%s res %x, WWPN %s %s\n",
|
||||
sp->name, res, wwn_to_str(fcport->port_name),
|
||||
wwn_to_str(fcport->node_name));
|
||||
|
||||
qla2x00_fcport_event_handler(vha, &ea);
|
||||
qla24xx_handle_gnnid_event(vha, &ea);
|
||||
|
||||
sp->free(sp);
|
||||
}
|
||||
@@ -4386,14 +4385,13 @@ static void qla2x00_async_gfpnid_sp_done(srb_t *sp, int res)
|
||||
ea.fcport = fcport;
|
||||
ea.sp = sp;
|
||||
ea.rc = res;
|
||||
ea.event = FCME_GFPNID_DONE;
|
||||
|
||||
ql_dbg(ql_dbg_disc, vha, 0x204f,
|
||||
"Async done-%s res %x, WWPN %s %s\n",
|
||||
sp->name, res, wwn_to_str(fcport->port_name),
|
||||
wwn_to_str(fcport->fabric_port_name));
|
||||
|
||||
qla2x00_fcport_event_handler(vha, &ea);
|
||||
qla24xx_handle_gfpnid_event(vha, &ea);
|
||||
|
||||
sp->free(sp);
|
||||
}
|
||||
|
||||
@@ -1700,87 +1700,6 @@ void qla24xx_handle_relogin_event(scsi_qla_host_t *vha,
|
||||
}
|
||||
|
||||
|
||||
static void qla_handle_els_plogi_done(scsi_qla_host_t *vha,
|
||||
struct event_arg *ea)
|
||||
{
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2118, "%s %d %s post PRLI\n",
|
||||
__func__, __LINE__, wwn_to_str(ea->fcport->port_name));
|
||||
qla24xx_post_prli_work(vha, ea->fcport);
|
||||
}
|
||||
|
||||
void qla2x00_fcport_event_handler(scsi_qla_host_t *vha, struct event_arg *ea)
|
||||
{
|
||||
fc_port_t *fcport;
|
||||
|
||||
switch (ea->event) {
|
||||
case FCME_RELOGIN:
|
||||
if (test_bit(UNLOADING, &vha->dpc_flags))
|
||||
return;
|
||||
|
||||
qla24xx_handle_relogin_event(vha, ea);
|
||||
break;
|
||||
case FCME_RSCN:
|
||||
if (test_bit(UNLOADING, &vha->dpc_flags))
|
||||
return;
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
fcport = qla2x00_find_fcport_by_nportid
|
||||
(vha, &ea->id, 1);
|
||||
if (fcport) {
|
||||
fcport->scan_needed = 1;
|
||||
fcport->rscn_gen++;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&vha->work_lock, flags);
|
||||
if (vha->scan.scan_flags == 0) {
|
||||
ql_dbg(ql_dbg_disc, vha, 0xffff,
|
||||
"%s: schedule\n", __func__);
|
||||
vha->scan.scan_flags |= SF_QUEUED;
|
||||
schedule_delayed_work(&vha->scan.scan_work, 5);
|
||||
}
|
||||
spin_unlock_irqrestore(&vha->work_lock, flags);
|
||||
}
|
||||
break;
|
||||
case FCME_GNL_DONE:
|
||||
qla24xx_handle_gnl_done_event(vha, ea);
|
||||
break;
|
||||
case FCME_GPSC_DONE:
|
||||
qla24xx_handle_gpsc_event(vha, ea);
|
||||
break;
|
||||
case FCME_PLOGI_DONE: /* Initiator side sent LLIOCB */
|
||||
qla24xx_handle_plogi_done_event(vha, ea);
|
||||
break;
|
||||
case FCME_PRLI_DONE:
|
||||
qla24xx_handle_prli_done_event(vha, ea);
|
||||
break;
|
||||
case FCME_GPDB_DONE:
|
||||
qla24xx_handle_gpdb_event(vha, ea);
|
||||
break;
|
||||
case FCME_GPNID_DONE:
|
||||
qla24xx_handle_gpnid_event(vha, ea);
|
||||
break;
|
||||
case FCME_GFFID_DONE:
|
||||
qla24xx_handle_gffid_event(vha, ea);
|
||||
break;
|
||||
case FCME_ADISC_DONE:
|
||||
qla24xx_handle_adisc_event(vha, ea);
|
||||
break;
|
||||
case FCME_GNNID_DONE:
|
||||
qla24xx_handle_gnnid_event(vha, ea);
|
||||
break;
|
||||
case FCME_GFPNID_DONE:
|
||||
qla24xx_handle_gfpnid_event(vha, ea);
|
||||
break;
|
||||
case FCME_ELS_PLOGI_DONE:
|
||||
qla_handle_els_plogi_done(vha, ea);
|
||||
break;
|
||||
default:
|
||||
BUG_ON(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* RSCN(s) came in for this fcport, but the RSCN(s) was not able
|
||||
* to be consumed by the fcport
|
||||
|
||||
Reference in New Issue
Block a user