From: Vaios Papadimitriou Date: Tue, 8 May 2012 22:01:25 +0000 (-0500) Subject: Fix for FDISC failures after firmware reset or link bounce (CR 126779) X-Git-Tag: v2.6.39-400.9.0~423^2~123^2~17 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=58a42db86ae267e8addfad118900b2c6139ce920;p=users%2Fjedix%2Flinux-maple.git Fix for FDISC failures after firmware reset or link bounce (CR 126779) 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 --- diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 6b743b0382853..8db2fb3b45ec1 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -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);