qcacld-3.0: Refine host driver get mac_id when etract tx power

Refine host driver get mac_id to avoid mutex release fail.

Change-Id: I70910eedea0710e99416442bed6b5c72436f960d
CRs-Fixed: 3521377
This commit is contained in:
Chunquan Luo
2023-06-06 04:58:17 -07:00
committed by Rahul Choudhary
parent 882f3a6e57
commit 77e76b3584

View File

@@ -118,6 +118,7 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
{
int32_t max_pwr = 0;
uint8_t pdev_id;
uint8_t mac_id = 0;
QDF_STATUS status;
struct wlan_objmgr_pdev *pdev;
struct request_info last_req = {0};
@@ -166,14 +167,15 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
goto end;
}
mac_id = policy_mgr_mode_get_macid_by_vdev_id(psoc, last_req.vdev_id);
wlan_cp_stats_pdev_obj_lock(pdev_cp_stats_priv);
pdev_mc_stats = pdev_cp_stats_priv->pdev_stats;
if (!is_station_stats &&
pdev_mc_stats->max_pwr != ev->pdev_stats[pdev_id].max_pwr)
wlan_son_deliver_tx_power(vdev,
ev->pdev_stats[pdev_id].max_pwr);
if (policy_mgr_mode_get_macid_by_vdev_id(psoc, last_req.vdev_id) ==
ev->mac_seq_num)
if (mac_id == ev->mac_seq_num)
max_pwr = pdev_mc_stats->max_pwr =
ev->pdev_stats[pdev_id].max_pwr;
@@ -181,8 +183,7 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
if (is_station_stats)
goto end;
if (policy_mgr_mode_get_macid_by_vdev_id(psoc, last_req.vdev_id) ==
ev->mac_seq_num) {
if (mac_id == ev->mac_seq_num) {
ucfg_mc_cp_stats_reset_pending_req(psoc,
TYPE_CONNECTION_TX_POWER,
&last_req,