git: 1b3f407f7d43 - stable/13 - cxgbe(4): Fix an incorrect assert.

From: Navdeep Parhar <np_at_FreeBSD.org>
Date: Wed, 20 Oct 2021 17:29:04 UTC
The branch stable/13 has been updated by np:

URL: https://cgit.FreeBSD.org/src/commit/?id=1b3f407f7d437c272d0cb2d84260b5622733a110

commit 1b3f407f7d437c272d0cb2d84260b5622733a110
Author:     Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2021-05-27 02:18:42 +0000
Commit:     Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2021-10-20 17:27:28 +0000

    cxgbe(4): Fix an incorrect assert.
    
    CTRL and OFLD tx queues do not have automatic tx credit flush enabled so
    it is okay for the cidx not to be the same as the pidx when the queue is
    destroyed.
    
    Reported by:    Jithesh Arakkan @ Chelsio
    Sponsored by:   Chelsio Communications
    
    (cherry picked from commit 5ef87bf8b687575bee010967e23cd2c552b43ad9)
---
 sys/dev/cxgbe/t4_sge.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c
index 44fef6dfc633..9d990253d7a0 100644
--- a/sys/dev/cxgbe/t4_sge.c
+++ b/sys/dev/cxgbe/t4_sge.c
@@ -4317,7 +4317,8 @@ static void
 free_eq(struct adapter *sc, struct sge_eq *eq)
 {
 	MPASS(eq->flags & EQ_SW_ALLOCATED);
-	MPASS(eq->pidx == eq->cidx);
+	if (eq->type == EQ_ETH)
+		MPASS(eq->pidx == eq->cidx);
 
 	free_ring(sc, eq->desc_tag, eq->desc_map, eq->ba, eq->desc);
 	mtx_destroy(&eq->eq_lock);
@@ -4470,6 +4471,8 @@ free_wrq(struct adapter *sc, struct sge_wrq *wrq)
 {
 	free_eq(sc, &wrq->eq);
 	MPASS(wrq->nwr_pending == 0);
+	MPASS(TAILQ_EMPTY(&wrq->incomplete_wrs));
+	MPASS(STAILQ_EMPTY(&wrq->wr_list));
 	bzero(wrq, sizeof(*wrq));
 }