Browse Source

qcacld-3.0: Update rate flags appropriately

Presently, Host fails to report valid actual link speed
(gReportMaxLinkSpeed=0) to the upper layer when firmware
reports legacy link speeds as Host fails to update legacy
bit in rate flags, reported to upper layer.

To mitigate this issue report rate flags with legacy bit set
on receiving valid rates from firmware and if MCS index is
invalid, as WMA fails to set valid MCS index for legacy rates.

Change-Id: I0a542e8aa56eb18e653aad30c1bec13f133d267c
CRs-Fixed: 2089469
Hanumanth Reddy Pothula 7 years ago
parent
commit
063cbe9e58
1 changed files with 6 additions and 2 deletions
  1. 6 2
      core/hdd/src/wlan_hdd_stats.c

+ 6 - 2
core/hdd/src/wlan_hdd_stats.c

@@ -3150,8 +3150,12 @@ static int __wlan_hdd_cfg80211_get_station(struct wiphy *wiphy,
 
 		if (eHDD_LINK_SPEED_REPORT_ACTUAL == pCfg->reportMaxLinkSpeed) {
 			/* Get current rate flags if report actual */
-			rate_flags =
-				pAdapter->hdd_stats.ClassA_stat.mcs_rate_flags;
+			/* WMA fails to find mcs_index for legacy tx rates */
+			if (mcs_index == INVALID_MCS_IDX && myRate)
+				rate_flags = eHAL_TX_RATE_LEGACY;
+			else
+				rate_flags =
+				 pAdapter->hdd_stats.ClassA_stat.mcs_rate_flags;
 		}
 
 		if (mcs_index == INVALID_MCS_IDX)