diff options
| -rw-r--r-- | 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 4cd953378c57..e0c247724d2b 100644 --- a/drivers/scsi/libfc/fc_lport.c +++ b/drivers/scsi/libfc/fc_lport.c | |||
| @@ -644,7 +644,12 @@ EXPORT_SYMBOL(fc_fabric_logoff); | |||
| 644 | */ | 644 | */ |
| 645 | int fc_lport_destroy(struct fc_lport *lport) | 645 | int fc_lport_destroy(struct fc_lport *lport) |
| 646 | { | 646 | { |
| 647 | mutex_lock(&lport->lp_mutex); | ||
| 648 | lport->state = LPORT_ST_NONE; | ||
| 649 | lport->link_up = 0; | ||
| 647 | lport->tt.frame_send = fc_frame_drop; | 650 | lport->tt.frame_send = fc_frame_drop; |
| 651 | mutex_unlock(&lport->lp_mutex); | ||
| 652 | |||
| 648 | lport->tt.fcp_abort_io(lport); | 653 | lport->tt.fcp_abort_io(lport); |
| 649 | lport->tt.exch_mgr_reset(lport, 0, 0); | 654 | lport->tt.exch_mgr_reset(lport, 0, 0); |
| 650 | return 0; | 655 | return 0; |
