qcacld-3.0: debug check for l_rx_defrag_waitlist_remove

qcacld-2.0 to qcacld-3.0 propagation

while wlan disconnection is happening, in the process of peer-cleanup
check for tqu->prev to be non-null before calling TAILQ_REMOVE.

Change-Id: I5841dfe80b954bdfac5147f5e3e3661cc85ba4b1
CRs-Fixed: 836447
This commit is contained in:
DARAM SUDHA 2015-05-14 18:44:59 +05:30 • committed by Prakash Dhavali
commit c653bbac92

View file

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