* [PATCH 12/14] lpfc: The linux driver does not reinitiate discovery after a failed FLOGI
@ 2015-08-31 20:48 James Smart
2015-09-14 7:40 ` Hannes Reinecke
0 siblings, 1 reply; 2+ messages in thread
From: James Smart @ 2015-08-31 20:48 UTC (permalink / raw)
To: linux-scsi
The linux driver does not reinitiate discovery after a failed FLOGI
Forgot to clear FCF Discovery in-progress flag upon FLOGI failures.
Thus we didn't restart FLOGI.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
---
drivers/scsi/lpfc/lpfc_els.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 759fa9b..3feeb44 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -1026,9 +1026,11 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
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",
+ "2858 FLOGI failure Status:x%x/x%x TMO:x%x "
+ "Data x%x x%x\n",
irsp->ulpStatus, irsp->un.ulpWord[4],
- irsp->ulpTimeout);
+ irsp->ulpTimeout, phba->hba_flag,
+ phba->fcf.fcf_flag);
/* Check for retry */
if (lpfc_els_retry(phba, cmdiocb, rspiocb))
@@ -1152,6 +1154,9 @@ stop_rr_fcf_flogi:
}
flogifail:
+ spin_lock_irq(&phba->hbalock);
+ phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
+ spin_unlock_irq(&phba->hbalock);
lpfc_nlp_put(ndlp);
if (!lpfc_error_lost_link(irsp)) {
--
1.7.11.7
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 12/14] lpfc: The linux driver does not reinitiate discovery after a failed FLOGI
2015-08-31 20:48 [PATCH 12/14] lpfc: The linux driver does not reinitiate discovery after a failed FLOGI James Smart
@ 2015-09-14 7:40 ` Hannes Reinecke
0 siblings, 0 replies; 2+ messages in thread
From: Hannes Reinecke @ 2015-09-14 7:40 UTC (permalink / raw)
To: James Smart, linux-scsi
On 08/31/2015 10:48 PM, James Smart wrote:
>
> The linux driver does not reinitiate discovery after a failed FLOGI
>
> Forgot to clear FCF Discovery in-progress flag upon FLOGI failures.
> Thus we didn't restart FLOGI.
>
> Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
> Signed-off-by: James Smart <james.smart@avagotech.com>
> ---
> drivers/scsi/lpfc/lpfc_els.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
> index 759fa9b..3feeb44 100644
> --- a/drivers/scsi/lpfc/lpfc_els.c
> +++ b/drivers/scsi/lpfc/lpfc_els.c
> @@ -1026,9 +1026,11 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
> 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",
> + "2858 FLOGI failure Status:x%x/x%x TMO:x%x "
> + "Data x%x x%x\n",
> irsp->ulpStatus, irsp->un.ulpWord[4],
> - irsp->ulpTimeout);
> + irsp->ulpTimeout, phba->hba_flag,
> + phba->fcf.fcf_flag);
>
> /* Check for retry */
> if (lpfc_els_retry(phba, cmdiocb, rspiocb))
> @@ -1152,6 +1154,9 @@ stop_rr_fcf_flogi:
> }
>
> flogifail:
> + spin_lock_irq(&phba->hbalock);
> + phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
> + spin_unlock_irq(&phba->hbalock);
> lpfc_nlp_put(ndlp);
>
> if (!lpfc_error_lost_link(irsp)) {
>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-14 7:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-31 20:48 [PATCH 12/14] lpfc: The linux driver does not reinitiate discovery after a failed FLOGI James Smart
2015-09-14 7:40 ` Hannes Reinecke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).