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 năm trước cách đây
mục cha
commit
063cbe9e58
1 tập tin đã thay đổi với 6 bổ sung2 xóa
  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) {
 		if (eHDD_LINK_SPEED_REPORT_ACTUAL == pCfg->reportMaxLinkSpeed) {
 			/* Get current rate flags if report actual */
 			/* 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)
 		if (mcs_index == INVALID_MCS_IDX)