|
@@ -34,6 +34,7 @@
|
|
#include "../../core/src/wlan_cp_stats_defs.h"
|
|
#include "../../core/src/wlan_cp_stats_defs.h"
|
|
#include "../../core/src/wlan_cp_stats_obj_mgr_handler.h"
|
|
#include "../../core/src/wlan_cp_stats_obj_mgr_handler.h"
|
|
#include "son_api.h"
|
|
#include "son_api.h"
|
|
|
|
+#include "wlan_policy_mgr_api.h"
|
|
|
|
|
|
static bool tgt_mc_cp_stats_is_last_event(struct stats_event *ev,
|
|
static bool tgt_mc_cp_stats_is_last_event(struct stats_event *ev,
|
|
enum stats_req_type stats_type)
|
|
enum stats_req_type stats_type)
|
|
@@ -176,7 +177,8 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
|
|
if (is_station_stats)
|
|
if (is_station_stats)
|
|
goto end;
|
|
goto end;
|
|
|
|
|
|
- if (tgt_mc_cp_stats_is_last_event(ev, TYPE_CONNECTION_TX_POWER)) {
|
|
|
|
|
|
+ if (policy_mgr_mode_get_macid_by_vdev_id(psoc, last_req.vdev_id) ==
|
|
|
|
+ ev->mac_seq_num) {
|
|
ucfg_mc_cp_stats_reset_pending_req(psoc,
|
|
ucfg_mc_cp_stats_reset_pending_req(psoc,
|
|
TYPE_CONNECTION_TX_POWER,
|
|
TYPE_CONNECTION_TX_POWER,
|
|
&last_req,
|
|
&last_req,
|
|
@@ -184,6 +186,7 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
|
|
if (last_req.u.get_tx_power_cb && pending)
|
|
if (last_req.u.get_tx_power_cb && pending)
|
|
last_req.u.get_tx_power_cb(max_pwr, last_req.cookie);
|
|
last_req.u.get_tx_power_cb(max_pwr, last_req.cookie);
|
|
}
|
|
}
|
|
|
|
+
|
|
end:
|
|
end:
|
|
if (vdev)
|
|
if (vdev)
|
|
wlan_objmgr_vdev_release_ref(vdev, WLAN_CP_STATS_ID);
|
|
wlan_objmgr_vdev_release_ref(vdev, WLAN_CP_STATS_ID);
|