|
@@ -537,6 +537,12 @@ enable_vport(struct fc_vport *fc_vport)
|
|
|
|
|
|
spin_lock_irq(shost->host_lock);
|
|
|
vport->load_flag |= FC_LOADING;
|
|
|
+ if (vport->fc_flag & FC_VPORT_NEEDS_INIT_VPI) {
|
|
|
+ spin_unlock_irq(shost->host_lock);
|
|
|
+ lpfc_issue_init_vpi(vport);
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
|
|
|
spin_unlock_irq(shost->host_lock);
|
|
|
|
|
@@ -557,6 +563,8 @@ enable_vport(struct fc_vport *fc_vport)
|
|
|
} else {
|
|
|
lpfc_vport_set_state(vport, FC_VPORT_FAILED);
|
|
|
}
|
|
|
+
|
|
|
+out:
|
|
|
lpfc_printf_vlog(vport, KERN_ERR, LOG_VPORT,
|
|
|
"1827 Vport Enabled.\n");
|
|
|
return VPORT_OK;
|