[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>
This commit is contained in:

committed by
James Bottomley

parent
aacc20e35e
commit
9795724476
@@ -3006,6 +3006,7 @@ lpfc_sli4_async_fcoe_evt(struct lpfc_hba *phba,
|
||||
struct lpfc_vport *vport;
|
||||
struct lpfc_nodelist *ndlp;
|
||||
struct Scsi_Host *shost;
|
||||
uint32_t link_state;
|
||||
|
||||
phba->fc_eventTag = acqe_fcoe->event_tag;
|
||||
phba->fcoe_eventtag = acqe_fcoe->event_tag;
|
||||
@@ -3052,9 +3053,12 @@ lpfc_sli4_async_fcoe_evt(struct lpfc_hba *phba,
|
||||
break;
|
||||
/*
|
||||
* Currently, driver support only one FCF - so treat this as
|
||||
* a link down.
|
||||
* a link down, but save the link state because we don't want
|
||||
* it to be changed to Link Down unless it is already down.
|
||||
*/
|
||||
link_state = phba->link_state;
|
||||
lpfc_linkdown(phba);
|
||||
phba->link_state = link_state;
|
||||
/* Unregister FCF if no devices connected to it */
|
||||
lpfc_unregister_unused_fcf(phba);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user