diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index fda2a2aee7b4..b3fe70179b9e 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/dp/wifi3.0/dp_rx.c @@ -1401,8 +1401,10 @@ dp_rx_pdev_detach(struct dp_pdev *pdev) rx_desc_pool = &soc->rx_desc_buf[pdev_id]; - dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); - qdf_spinlock_destroy(&soc->rx_desc_mutex[pdev_id]); + if (rx_desc_pool->pool_size != 0) { + dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); + qdf_spinlock_destroy(&soc->rx_desc_mutex[pdev_id]); + } return; } diff --git a/dp/wifi3.0/dp_rx_mon_dest.c b/dp/wifi3.0/dp_rx_mon_dest.c index 46533f11de54..dd63f4916ae7 100644 --- a/dp/wifi3.0/dp_rx_mon_dest.c +++ b/dp/wifi3.0/dp_rx_mon_dest.c @@ -845,7 +845,9 @@ dp_rx_pdev_mon_buf_detach(struct dp_pdev *pdev) { struct rx_desc_pool *rx_desc_pool; rx_desc_pool = &soc->rx_desc_mon[pdev_id]; - dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); + if (rx_desc_pool->pool_size != 0) { + dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); + } return QDF_STATUS_SUCCESS; } diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index 16b4ea5c3b40..19b09a917ec9 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -386,7 +386,9 @@ dp_rx_pdev_mon_status_detach(struct dp_pdev *pdev) struct rx_desc_pool *rx_desc_pool; rx_desc_pool = &soc->rx_desc_status[pdev_id]; - dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); + if (rx_desc_pool->pool_size != 0) { + dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool); + } return QDF_STATUS_SUCCESS; }