diff options
author | James Smart <james.smart@emulex.com> | 2012-03-01 22:35:45 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-03-27 03:26:30 -0400 |
commit | 80c17849209e8773de122e58512c16c3fae3e29a (patch) | |
tree | b505957aa03c84bdbb3694509d738929dd560d5a /drivers/scsi/lpfc/lpfc_els.c | |
parent | 401ee0c1d698e798a9317e2ed6207badae93e266 (diff) |
[SCSI] lpfc 8.3.30: Fixed missing CVL event causing FCF failover
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 8db2fb3b45ec..86edc015554c 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -925,9 +925,17 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
925 | * due to new FCF discovery | 925 | * due to new FCF discovery |
926 | */ | 926 | */ |
927 | if ((phba->hba_flag & HBA_FIP_SUPPORT) && | 927 | if ((phba->hba_flag & HBA_FIP_SUPPORT) && |
928 | (phba->fcf.fcf_flag & FCF_DISCOVERY) && | 928 | (phba->fcf.fcf_flag & FCF_DISCOVERY)) { |
929 | !((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | 929 | if (phba->link_state < LPFC_LINK_UP) |
930 | (irsp->un.ulpWord[4] == IOERR_SLI_ABORTED))) { | 930 | goto stop_rr_fcf_flogi; |
931 | if ((phba->fcoe_cvl_eventtag_attn == | ||
932 | phba->fcoe_cvl_eventtag) && | ||
933 | (irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | ||
934 | (irsp->un.ulpWord[4] == IOERR_SLI_ABORTED)) | ||
935 | goto stop_rr_fcf_flogi; | ||
936 | else | ||
937 | phba->fcoe_cvl_eventtag_attn = | ||
938 | phba->fcoe_cvl_eventtag; | ||
931 | lpfc_printf_log(phba, KERN_WARNING, LOG_FIP | LOG_ELS, | 939 | lpfc_printf_log(phba, KERN_WARNING, LOG_FIP | LOG_ELS, |
932 | "2611 FLOGI failed on FCF (x%x), " | 940 | "2611 FLOGI failed on FCF (x%x), " |
933 | "status:x%x/x%x, tmo:x%x, perform " | 941 | "status:x%x/x%x, tmo:x%x, perform " |
@@ -943,6 +951,7 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
943 | goto out; | 951 | goto out; |
944 | } | 952 | } |
945 | 953 | ||
954 | stop_rr_fcf_flogi: | ||
946 | /* FLOGI failure */ | 955 | /* FLOGI failure */ |
947 | lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, | 956 | lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, |
948 | "2858 FLOGI failure Status:x%x/x%x TMO:x%x\n", | 957 | "2858 FLOGI failure Status:x%x/x%x TMO:x%x\n", |