aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_els.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 8db2fb3b45ec..3407b39e0a3f 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -1,7 +1,7 @@
1/******************************************************************* 1/*******************************************************************
2 * This file is part of the Emulex Linux Device Driver for * 2 * This file is part of the Emulex Linux Device Driver for *
3 * Fibre Channel Host Bus Adapters. * 3 * Fibre Channel Host Bus Adapters. *
4 * Copyright (C) 2004-2011 Emulex. All rights reserved. * 4 * Copyright (C) 2004-2012 Emulex. All rights reserved. *
5 * EMULEX and SLI are trademarks of Emulex. * 5 * EMULEX and SLI are trademarks of Emulex. *
6 * www.emulex.com * 6 * www.emulex.com *
7 * Portions Copyright (C) 2004-2005 Christoph Hellwig * 7 * Portions Copyright (C) 2004-2005 Christoph Hellwig *
@@ -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
954stop_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",