[SCSI] libfc: Change state to NONE in fc_lport_destroy
After lport_destroy, the local port should not be used again. Transition to state NONE, any incoming frames or link up should not transition out of this state since we are deleting exchange table and cleaning up the local port. Also, mark link as down. Signed-off-by: Abhijeet Joglekar <abjoglek@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
a0fd2e49ec
Коммит
bbf156697a
|
@ -644,7 +644,12 @@ EXPORT_SYMBOL(fc_fabric_logoff);
|
||||||
*/
|
*/
|
||||||
int fc_lport_destroy(struct fc_lport *lport)
|
int fc_lport_destroy(struct fc_lport *lport)
|
||||||
{
|
{
|
||||||
|
mutex_lock(&lport->lp_mutex);
|
||||||
|
lport->state = LPORT_ST_NONE;
|
||||||
|
lport->link_up = 0;
|
||||||
lport->tt.frame_send = fc_frame_drop;
|
lport->tt.frame_send = fc_frame_drop;
|
||||||
|
mutex_unlock(&lport->lp_mutex);
|
||||||
|
|
||||||
lport->tt.fcp_abort_io(lport);
|
lport->tt.fcp_abort_io(lport);
|
||||||
lport->tt.exch_mgr_reset(lport, 0, 0);
|
lport->tt.exch_mgr_reset(lport, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче