aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_vport.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_vport.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_vport.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c
index 6b8d2952e32..30ba5440c67 100644
--- a/drivers/scsi/lpfc/lpfc_vport.c
+++ b/drivers/scsi/lpfc/lpfc_vport.c
@@ -464,6 +464,7 @@ disable_vport(struct fc_vport *fc_vport)
464 struct lpfc_hba *phba = vport->phba; 464 struct lpfc_hba *phba = vport->phba;
465 struct lpfc_nodelist *ndlp = NULL, *next_ndlp = NULL; 465 struct lpfc_nodelist *ndlp = NULL, *next_ndlp = NULL;
466 long timeout; 466 long timeout;
467 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
467 468
468 ndlp = lpfc_findnode_did(vport, Fabric_DID); 469 ndlp = lpfc_findnode_did(vport, Fabric_DID);
469 if (ndlp && NLP_CHK_NODE_ACT(ndlp) 470 if (ndlp && NLP_CHK_NODE_ACT(ndlp)
@@ -498,6 +499,9 @@ disable_vport(struct fc_vport *fc_vport)
498 * scsi_host_put() to release the vport. 499 * scsi_host_put() to release the vport.
499 */ 500 */
500 lpfc_mbx_unreg_vpi(vport); 501 lpfc_mbx_unreg_vpi(vport);
502 spin_lock_irq(shost->host_lock);
503 vport->fc_flag |= FC_VPORT_NEEDS_INIT_VPI;
504 spin_unlock_irq(shost->host_lock);
501 505
502 lpfc_vport_set_state(vport, FC_VPORT_DISABLED); 506 lpfc_vport_set_state(vport, FC_VPORT_DISABLED);
503 lpfc_printf_vlog(vport, KERN_ERR, LOG_VPORT, 507 lpfc_printf_vlog(vport, KERN_ERR, LOG_VPORT,