Jelajahi Sumber

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
Paul Zhang 6 tahun lalu
induk
melakukan
57ff3231aa
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      umac/cp_stats/dispatcher/src/wlan_cp_stats_mc_tgt_api.c

+ 1 - 1
umac/cp_stats/dispatcher/src/wlan_cp_stats_mc_tgt_api.c

@@ -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)