git: 1b3f407f7d43 - stable/13 - cxgbe(4): Fix an incorrect assert.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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));
}