diff --git a/dp/inc/cdp_txrx_host_stats.h b/dp/inc/cdp_txrx_host_stats.h index 793e241f3d..2201794233 100644 --- a/dp/inc/cdp_txrx_host_stats.h +++ b/dp/inc/cdp_txrx_host_stats.h @@ -1095,12 +1095,14 @@ static inline QDF_STATUS cdp_get_pdev_obss_pd_stats( * cdp_clear_pdev_obss_pd_stats(): function to clear pdev obss stats * @soc: soc handle * @pdev_id: pdev id + * @req: Pointer to CDP TxRx stats request. mac_id will be pre-filled + * and should not be overwritten * * return: status */ static inline QDF_STATUS cdp_clear_pdev_obss_pd_stats( ol_txrx_soc_handle soc, - uint8_t pdev_id) + uint8_t pdev_id, struct cdp_txrx_stats_req *req) { if (!soc || !soc->ops) { dp_cdp_debug("Invalid Instance"); @@ -1113,6 +1115,6 @@ static inline QDF_STATUS cdp_clear_pdev_obss_pd_stats( return QDF_STATUS_E_FAILURE; return soc->ops->host_stats_ops->clear_pdev_obss_pd_stats( - soc, pdev_id); + soc, pdev_id, req); } #endif /* _CDP_TXRX_HOST_STATS_H_ */ diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 0900ecf28a..c1efcb3bf6 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -1225,7 +1225,8 @@ struct cdp_host_stats_ops { struct cdp_pdev_obss_pd_stats_tlv *buf, struct cdp_txrx_stats_req *req); QDF_STATUS (*clear_pdev_obss_pd_stats)(struct cdp_soc_t *soc, - uint8_t pdev_id); + uint8_t pdev_id, + struct cdp_txrx_stats_req *req); }; struct cdp_wds_ops { diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 1a3da37735..882336b676 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -11659,13 +11659,15 @@ dp_get_obss_stats(struct cdp_soc_t *soc, uint8_t pdev_id, * dp_clear_pdev_obss_pd_stats(): Clear pdev obss stats * @soc: DP soc handle * @pdev_id: id of DP_PDEV handle + * @req: Pointer to CDP TxRx stats request mac_id will be + * pre-filled and should not be overwritten * * Return: status */ static QDF_STATUS -dp_clear_pdev_obss_pd_stats(struct cdp_soc_t *soc, uint8_t pdev_id) +dp_clear_pdev_obss_pd_stats(struct cdp_soc_t *soc, uint8_t pdev_id, + struct cdp_txrx_stats_req *req) { - struct cdp_txrx_stats_req req = {0}; struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3((struct dp_soc *)soc, pdev_id); @@ -11684,13 +11686,13 @@ dp_clear_pdev_obss_pd_stats(struct cdp_soc_t *soc, uint8_t pdev_id) * - config_param2 : stats bmask from start offset + 32 * - config_param3 : stats bmask from start offset + 64 */ - req.stats = (enum cdp_stats)HTT_DBG_EXT_STATS_RESET; - req.param0 = HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS; - req.param1 = 0x00000001; + req->stats = (enum cdp_stats)HTT_DBG_EXT_STATS_RESET; + req->param0 = HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS; + req->param1 = 0x00000001; - return dp_h2t_ext_stats_msg_send(pdev, req.stats, req.param0, - req.param1, req.param2, req.param3, 0, - cookie_val, 0); + return dp_h2t_ext_stats_msg_send(pdev, req->stats, req->param0, + req->param1, req->param2, req->param3, 0, + cookie_val, req->mac_id); } /**