|
@@ -925,9 +925,17 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
|
|
* due to new FCF discovery
|
|
|
*/
|
|
|
if ((phba->hba_flag & HBA_FIP_SUPPORT) &&
|
|
|
- (phba->fcf.fcf_flag & FCF_DISCOVERY) &&
|
|
|
- !((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) &&
|
|
|
- (irsp->un.ulpWord[4] == IOERR_SLI_ABORTED))) {
|
|
|
+ (phba->fcf.fcf_flag & FCF_DISCOVERY)) {
|
|
|
+ if (phba->link_state < LPFC_LINK_UP)
|
|
|
+ goto stop_rr_fcf_flogi;
|
|
|
+ if ((phba->fcoe_cvl_eventtag_attn ==
|
|
|
+ phba->fcoe_cvl_eventtag) &&
|
|
|
+ (irsp->ulpStatus == IOSTAT_LOCAL_REJECT) &&
|
|
|
+ (irsp->un.ulpWord[4] == IOERR_SLI_ABORTED))
|
|
|
+ goto stop_rr_fcf_flogi;
|
|
|
+ else
|
|
|
+ phba->fcoe_cvl_eventtag_attn =
|
|
|
+ phba->fcoe_cvl_eventtag;
|
|
|
lpfc_printf_log(phba, KERN_WARNING, LOG_FIP | LOG_ELS,
|
|
|
"2611 FLOGI failed on FCF (x%x), "
|
|
|
"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,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+stop_rr_fcf_flogi:
|
|
|
/* FLOGI failure */
|
|
|
lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
|
|
|
"2858 FLOGI failure Status:x%x/x%x TMO:x%x\n",
|