Patch "[PATCH 051/135] lpfc: Fix RegLogin failed error seen on Lancer FC" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
[PATCH 051/135] lpfc: Fix RegLogin failed error seen on Lancer FC
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
0051-lpfc-Fix-RegLogin-failed-error-seen-on-Lancer-FC-dur.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3e671fc5ed60d40e93f74aa58e890a63430c3c03Mon Sep 17 00:00:00 2001
From: James Smart <[email protected]>
Date: Wed, 16 Dec 2015 18:11:55 -0500
Subject: [PATCH 051/135] lpfc: Fix RegLogin failed error seen on Lancer FC
during port bounce
[ Upstream commit 4b7789b71c916f79a3366da080101014473234c3 ]
Fix RegLogin failed error seen on Lancer FC during port bounce
Fix the statemachine and ref counting.
--- drivers/scsi/lpfc/lpfc_els.c | 14 +++++++++----- drivers/scsi/lpfc/lpfc_hbadisc.c | 8 ++++---- drivers/scsi/lpfc/lpfc_nportdisc.c | 3 +++ 3 files changed, 16 insertions(+), 9 deletions(-)
drivers/scsi/lpfc/lpfc_els.c +9 -5
@@ -3779,14 +3779,17 @@ lpfc_cmpl_els_rsp(struct lpfc_hba *phba,lpfc_nlp_set_state (vport, ndlp,NLP_STE_REG_LOGIN_ISSUE ); } + + ndlp->nlp_flag |=NLP_REG_LOGIN_SEND ;if (lpfc_sli_issue_mbox (phba, mbox,MBX_NOWAIT ) !=MBX_NOT_FINISHED ) goto out; -else -/* Decrement the ndlp reference count we -* set for this failed mailbox command. -*/ -lpfc_nlp_put (ndlp); + +/* Decrement the ndlp reference count we +* set for this failed mailbox command. +*/ +lpfc_nlp_put (ndlp); + ndlp->nlp_flag &= ~NLP_REG_LOGIN_SEND ;/* ELS rsp: Cannot issue reg_login for <NPortid> */ lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
@@ -3843,6 +3846,7 @@ out:* the routine lpfc_els_free_iocb. */ cmdiocb->context1 =NULL ; + }lpfc_els_free_iocb (phba, cmdiocb);
drivers/scsi/lpfc/lpfc_hbadisc.c +4 -4
@@ -3452,10 +3452,10 @@ lpfc_mbx_cmpl_reg_login(struct lpfc_hbaspin_lock_irq (shost->host_lock); ndlp->nlp_flag &= ~NLP_IGNR_REG_CMPL ;spin_unlock_irq (shost->host_lock); - }else -/* Good status, call state machine */ -lpfc_disc_state_machine (vport, ndlp, pmb, -NLP_EVT_CMPL_REG_LOGIN ); + } + +/* Call state machine */ +lpfc_disc_state_machine (vport, ndlp, pmb,NLP_EVT_CMPL_REG_LOGIN );lpfc_mbuf_free (phba, mp->virt, mp->phys);kfree (mp);
drivers/scsi/lpfc/lpfc_nportdisc.c +3 -0
@@ -2325,6 +2325,9 @@ lpfc_cmpl_reglogin_npr_node(struct lpfc_if (vport->phba->sli_rev <LPFC_SLI_REV4 ) ndlp->nlp_rpi = mb->un.varWords[0 ]; ndlp->nlp_flag |=NLP_RPI_REGISTERED ; +if (ndlp->nlp_flag &NLP_LOGO_ACC ) { +lpfc_unreg_rpi (vport, ndlp); + } }else {if (ndlp->nlp_flag &NLP_NODEV_REMOVE ) {lpfc_drop_node (vport, ndlp);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/0056-lpfc-Fix-mbox-reuse-in-PLOGI-completion.patch queue-4.4/0052-lpfc-Fix-driver-crash-when-module-parameter-lpfc_fcp.patch queue-4.4/0121-lpfc-Fix-DMA-faults-observed-upon-plugging-loopback-.patch queue-4.4/0049-lpfc-Fix-FCF-Infinite-loop-in-lpfc_sli4_fcf_rr_next_.patch queue-4.4/0055-lpfc-Fix-RDP-ACC-being-too-long.patch queue-4.4/0051-lpfc-Fix-RegLogin-failed-error-seen-on-Lancer-FC-dur.patch queue-4.4/0054-lpfc-Fix-RDP-Speed-reporting.patch queue-4.4/0057-lpfc-Fix-external-loopback-failure.patch queue-4.4/0053-lpfc-Fix-crash-in-fcp-command-completion-path.patch queue-4.4/0050-lpfc-Fix-the-FLOGI-discovery-logic-to-comply-with-T1.patch