diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 3f75ce5c71..d77f930bb7 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -479,6 +479,8 @@ struct ol_if_ops { int (*peer_rx_reorder_queue_remove)(void *ol_soc_handle, uint8_t vdev_id, uint8_t *peer_macaddr, uint32_t tid_mask); + int (*peer_unref_delete)(void *ol_soc_handle); + /* TODO: Add any other control path calls required to OL_IF/WMA layer */ }; diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 612d9b512b..e72f808408 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -1539,10 +1539,9 @@ void dp_peer_unref_delete(void *peer_handle) #else qdf_mem_free(peer); #endif - -#ifdef notyet /* See why this should be done in DP layer */ - qdf_atomic_inc(&soc->peer_count); -#endif + if (soc->cdp_soc.ol_ops->peer_unref_delete) { + soc->cdp_soc.ol_ops->peer_unref_delete(soc->osif_soc); + } } else { qdf_spin_unlock_bh(&soc->peer_ref_mutex); }