summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_vport.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2009-12-21 23:03:15 +0100
committerJames Bottomley <James.Bottomley@suse.de>2010-01-04 18:39:46 +0100
commit9795724476860069ce183ead59d0a5958f882037 (patch)
tree039c8106cf265217af485fcf574ea3648700f362 /drivers/scsi/lpfc/lpfc_vport.c
parent[SCSI] lpfc 8.3.7: Fix SCSI protocol related errors. (diff)
downloadlinux-9795724476860069ce183ead59d0a5958f882037.tar.xz
linux-9795724476860069ce183ead59d0a5958f882037.zip
[SCSI] lpfc 8.3.7: Fix discovery failures.
Fix discovery failures: - Move all accesses to the fc_flag field inside the host lock. - Restore link state after going through linkdown processing for FCF DEAD event. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_vport.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_vport.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c
index c3a70c4c9433..e3c7fa642306 100644
--- a/drivers/scsi/lpfc/lpfc_vport.c
+++ b/drivers/scsi/lpfc/lpfc_vport.c
@@ -512,8 +512,10 @@ enable_vport(struct fc_vport *fc_vport)
return VPORT_OK;
}
+ spin_lock_irq(&phba->hbalock);
vport->load_flag |= FC_LOADING;
vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
+ spin_unlock_irq(&phba->hbalock);
/* Use the Physical nodes Fabric NDLP to determine if the link is
* up and ready to FDISC.