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 <[email protected]>
---
 drivers/scsi/libfc/fc_lport.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)


diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index f6bccdd..654b11e 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -644,7 +644,12 @@ EXPORT_SYMBOL(fc_fabric_logoff);
  */
 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;
+       mutex_unlock(&lport->lp_mutex);
+
        lport->tt.fcp_abort_io(lport);
        lport->tt.exch_mgr_reset(lport, 0, 0);
        return 0;


_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to