scsi: libfc: Do not drop down to FLOGI for fc_rport_login()
When fc_rport_login() is called while the rport is not in RPORT_ST_INIT, RPORT_ST_READY, or RPORT_ST_DELETE login is already in progress and there's no need to drop down to FLOGI; doing so will only confuse the other side. Signed-off-by: Hannes Reinecke <hare@suse.com> Acked-by: Johannes Thumshirn <jth@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
785141c62a
commit
e5a20009da
|
@ -427,10 +427,14 @@ static int fc_rport_login(struct fc_rport_priv *rdata)
|
||||||
case RPORT_ST_DELETE:
|
case RPORT_ST_DELETE:
|
||||||
FC_RPORT_DBG(rdata, "Restart deleted port\n");
|
FC_RPORT_DBG(rdata, "Restart deleted port\n");
|
||||||
break;
|
break;
|
||||||
default:
|
case RPORT_ST_INIT:
|
||||||
FC_RPORT_DBG(rdata, "Login to port\n");
|
FC_RPORT_DBG(rdata, "Login to port\n");
|
||||||
fc_rport_enter_flogi(rdata);
|
fc_rport_enter_flogi(rdata);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
FC_RPORT_DBG(rdata, "Login in progress, state %s\n",
|
||||||
|
fc_rport_state(rdata));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
mutex_unlock(&rdata->rp_mutex);
|
mutex_unlock(&rdata->rp_mutex);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue