Browse Source

qcacld-3.0: Correct the actual rate flags being sent to framework

Presently, in VHT case also, the HT MCS rate flag is being set when the
SGI is enabled. This is causing the kernel to misinterpret the rates.
Instead of getting the VHT rates, the kernel is enabling the HT rates.
This issue is not present in kernel 4.9 as the preference was given to
VHT rates. For kernel 4.14, the preference is given to HT rates thus
highlighting the problem.

To solve this issue, do not set the RATE_INFO_FLAGS_MCS for SGI enabled.

Change-Id: Icce5b661c3fee21fa4522f06ff54827238e0d255
CRs-Fixed: 2317669
Sourav Mohapatra 6 years ago
parent
commit
b22d2691f6
1 changed files with 1 additions and 1 deletions
  1. 1 1
      core/hdd/src/wlan_hdd_stats.c

+ 1 - 1
core/hdd/src/wlan_hdd_stats.c

@@ -4279,7 +4279,6 @@ static void hdd_report_actual_rate(uint8_t rate_flags, uint16_t my_rate,
 		}
 
 		if (rate_flags & TX_RATE_SGI) {
-			rate->flags |= RATE_INFO_FLAGS_MCS;
 			rate->flags |= RATE_INFO_FLAGS_SHORT_GI;
 		}
 
@@ -4480,6 +4479,7 @@ static int wlan_hdd_get_sta_stats(struct wiphy *wiphy,
 		  (int)rx_rate_flags);
 	hdd_debug("MCS Index: TX: %d, RX: %d", (int)tx_mcs_index,
 		  (int)rx_mcs_index);
+	hdd_debug("NSS: TX: %d, RX: %d", (int)tx_nss, (int)rx_nss);
 
 	/* assume basic BW. anything else will override this later */
 	hdd_set_rate_bw(&sinfo->txrate, HDD_RATE_BW_20);