diff --git a/core/dp/txrx/ol_rx_defrag.c b/core/dp/txrx/ol_rx_defrag.c index 4fb2cbc2e48e..7f1db54e6da9 100644 --- a/core/dp/txrx/ol_rx_defrag.c +++ b/core/dp/txrx/ol_rx_defrag.c @@ -393,14 +393,18 @@ void ol_rx_defrag_waitlist_remove(struct ol_txrx_peer_t *peer, unsigned tid) struct ol_txrx_pdev_t *pdev = peer->vdev->pdev; struct ol_rx_reorder_t *rx_reorder = &peer->tids_rx_reorder[tid]; - if (rx_reorder->defrag_waitlist_elem.tqe_next != NULL || - rx_reorder->defrag_waitlist_elem.tqe_prev != NULL) { + if (rx_reorder->defrag_waitlist_elem.tqe_next != NULL) { TAILQ_REMOVE(&pdev->rx.defrag.waitlist, rx_reorder, defrag_waitlist_elem); rx_reorder->defrag_waitlist_elem.tqe_next = NULL; rx_reorder->defrag_waitlist_elem.tqe_prev = NULL; + } else { + TXRX_PRINT(TXRX_PRINT_LEVEL_FATAL_ERR, + "waitlist->tqe_prv = NULL\n"); + CDF_ASSERT(0); + rx_reorder->defrag_waitlist_elem.tqe_next = NULL; } }