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)); }