qcacld-3.0: Fix a RX rate report issue in some legacy mode

Driver refills the rxrate structure from kernel which
has been filled in previously. The issue happens in
legacy mode, when driver reports legacy rate but fails
to clear the rxrate.flags, causing kernel fails to
recognize it as legacy rate. This change clears the
rxrates to ensure kernel to recognize it as legacy rate.

Change-Id: I0702a4a6e6cba59fed87dd857e0fa1a8530f3c53
CRs-Fixed: 3611779
This commit is contained in:
jinbao liu
2023-09-10 22:03:02 -07:00
committed by Rahul Choudhary
parent c1cbb7ec69
commit b75f48ebef

View File

@@ -7317,6 +7317,8 @@ wlan_hdd_refill_actual_rate(struct station_info *sinfo,
sinfo->rxrate.nss = link_info->hdd_stats.class_a_stat.rx_nss; sinfo->rxrate.nss = link_info->hdd_stats.class_a_stat.rx_nss;
if (preamble == DOT11_A || preamble == DOT11_B) { if (preamble == DOT11_A || preamble == DOT11_B) {
/* Clear rxrate which may have been set previously */
qdf_mem_zero(&sinfo->rxrate, sizeof(sinfo->rxrate));
sinfo->rxrate.legacy = sinfo->rxrate.legacy =
link_info->hdd_stats.class_a_stat.rx_rate; link_info->hdd_stats.class_a_stat.rx_rate;
hdd_debug("Reporting legacy rate %d", sinfo->rxrate.legacy); hdd_debug("Reporting legacy rate %d", sinfo->rxrate.legacy);