diff mbox series

[05/12] lpfc: Fix release of hwq to clear the eq relationship

Message ID 20200128002312.16346-6-jsmart2021@gmail.com (mailing list archive)
State Accepted
Headers show
Series lpfc: Update lpfc to revision 12.6.0.4 | expand

Commit Message

James Smart Jan. 28, 2020, 12:23 a.m. UTC
When performing reset testing, the eq's list for related hwq's was
getting corrupted.  In cases where there is not a 1:1 eq to hwq, the
eq is shared. The eq maintains a list of hwqs utilizing it in case of
cpu offlining and polling. During the reset, the hwqs are being torn
down so they can be recreated. The recreation was getting confused by
seeing a non-null eq assignment on the eq and the eq list became
corrupt.

Correct by clearing the hdwq eq assignment when the hwq is cleaned up.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
---
 drivers/scsi/lpfc/lpfc_init.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 5a605773dd0a..9fd238d49117 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -9235,6 +9235,7 @@  lpfc_sli4_release_hdwq(struct lpfc_hba *phba)
 		/* Free the CQ/WQ corresponding to the Hardware Queue */
 		lpfc_sli4_queue_free(hdwq[idx].io_cq);
 		lpfc_sli4_queue_free(hdwq[idx].io_wq);
+		hdwq[idx].hba_eq = NULL;
 		hdwq[idx].io_cq = NULL;
 		hdwq[idx].io_wq = NULL;
 		if (phba->cfg_xpsgl && !phba->nvmet_support)