diff --git a/dp/inc/cdp_txrx_cmn.h b/dp/inc/cdp_txrx_cmn.h index f2f16eb380..d062e9b033 100644 --- a/dp/inc/cdp_txrx_cmn.h +++ b/dp/inc/cdp_txrx_cmn.h @@ -2652,4 +2652,24 @@ cdp_drain_txrx(ol_txrx_soc_handle soc) return soc->ops->cmn_drv_ops->txrx_drain(soc); } + +/** + * cdp_get_free_desc_poolsize() - get free desc pool size + * @soc: opaque soc handle + */ +static inline int +cdp_get_free_desc_poolsize(ol_txrx_soc_handle soc) +{ + if (!soc || !soc->ops) { + dp_cdp_debug("Invalid Instance"); + QDF_BUG(0); + return 0; + } + + if (!soc->ops->cmn_drv_ops || + !soc->ops->cmn_drv_ops->get_free_desc_poolsize) + return 0; + + return soc->ops->cmn_drv_ops->get_free_desc_poolsize(soc); +} #endif /* _CDP_TXRX_CMN_H_ */ diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 806f2c060c..f66352adef 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -579,6 +579,7 @@ struct cdp_cmn_ops { ol_osif_peer_handle osif_peer); #endif /* QCA_SUPPORT_WDS_EXTENDED */ void (*txrx_drain)(ol_txrx_soc_handle soc); + int (*get_free_desc_poolsize)(struct cdp_soc_t *soc); }; struct cdp_ctrl_ops {