qcacmn: resolve time out issue for get tx power

Currently, clearing the TYPE_CONNECTION_TX_POWER is
doing after the callback get_tx_power_cb.

Timeout issue happens because:
1\ the callback get_tx_power_cb is interrupted
   after invoking osif_request_complete.
2\ __wlan_hdd_cfg80211_get_txpower is called again
   and setting TYPE_CONNECTION_TX_POWER.
3\ the callback is rescheduled and clears the bit
   TYPE_CONNECTION_TX_POWER.
4\ Because the bit TYPE_CONNECTION_TX_POWER is cleared,
   and callback won't be invoke.

Change-Id: I6a5b155d2274551b637dc22095d292a70f836700
CRs-Fixed: 2418587
This commit is contained in:
Paul Zhang 2019-03-27 14:53:22 +08:00 • committed by nshrivas
commit 57ff3231aa

View file

@ -100,9 +100,9 @@ static void tgt_mc_cp_stats_extract_tx_power(struct wlan_objmgr_psoc *psoc,
if (is_station_stats)
goto end;
ucfg_mc_cp_stats_reset_pending_req(psoc, TYPE_CONNECTION_TX_POWER);
if (last_req.u.get_tx_power_cb)
last_req.u.get_tx_power_cb(max_pwr, last_req.cookie);
ucfg_mc_cp_stats_reset_pending_req(psoc, TYPE_CONNECTION_TX_POWER);
end:
if (vdev)