]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Fix for FDISC failures after firmware reset or link bounce (CR 126779)
authorVaios Papadimitriou <vaios.papadimitriou@emulex.com>
Tue, 8 May 2012 22:01:25 +0000 (17:01 -0500)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Wed, 9 May 2012 00:01:25 +0000 (17:01 -0700)
The driver failed to discover target on vports after a link bounce. This is a
regression on SLI4 adapters where the SID in the FDISC was set to a non-zero
value. There is no use case for a non-zero SID in the FDISC. Thefix is to clear
fc_myDID to guarentee a zero SID

commit id: 6b5151fd7baec6812fece993ddd7a2cf9fd0125f

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
drivers/scsi/lpfc/lpfc_els.c

index 6b743b03828532c60ba3034ed64f41305f7e8007..8db2fb3b45ec13a40fd36ad3aa4c48cf9659b37c 100644 (file)
@@ -7172,7 +7172,7 @@ lpfc_cmpl_els_fdisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
                        goto out;
                /* FDISC failed */
                lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
-                                "0126 FDISC failed. (%d/%d)\n",
+                                "0126 FDISC failed. (x%x/x%x)\n",
                                 irsp->ulpStatus, irsp->un.ulpWord[4]);
                goto fdisc_failed;
        }
@@ -7283,6 +7283,7 @@ lpfc_issue_els_fdisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
        int rc;
 
        vport->port_state = LPFC_FDISC;
+       vport->fc_myDID = 0;
        cmdsize = (sizeof(uint32_t) + sizeof(struct serv_parm));
        elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp, did,
                                     ELS_CMD_FDISC);