aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2020-06-18 16:43:25 +0100
committerBryan O'Donoghue <bryan.odonoghue@linaro.org>2020-06-19 11:19:29 +0100
commit204e597610061606d73c7000dff60f910e7704c2 (patch)
tree632d0defafda8132eb6c061b557344456fdfdfe3
parent57f1153f0cfbd160723ee80373c5aa3eb94ed0c5 (diff)
wcn36xx: Fix reported rx_highest ratelinux-4.19.y+wcn36xx-802.11.n+bluetooth-v2
Qualcomm's document "80-WL007-1 Rev. J" states that the highest rx rate for the WCN3660 and WCN3680 on MCS 0-7 is 150 Mbps not the 72 stated here. Given only the WCN3660 and WCN3680 can connect to 5Ghz frequencies the value specified here is clearly incorrect. 72 Mbps is what the downstream Prima incorrectly reports for this value and that spurious value appears to have been replicated into upstream. Fixes: 8e84c2582169 ("wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware") Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-rw-r--r--drivers/net/wireless/ath/wcn36xx/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
index a6dee96e05f2..08f9c64785ea 100644
--- a/drivers/net/wireless/ath/wcn36xx/main.c
+++ b/drivers/net/wireless/ath/wcn36xx/main.c
@@ -163,7 +163,7 @@ static struct ieee80211_supported_band wcn_band_5ghz = {
.ampdu_density = IEEE80211_HT_MPDU_DENSITY_16,
.mcs = {
.rx_mask = { 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
- .rx_highest = cpu_to_le16(72),
+ .rx_highest = cpu_to_le16(150),
.tx_params = IEEE80211_HT_MCS_TX_DEFINED,
}
}
@@ -1187,8 +1187,10 @@ static int wcn36xx_init_ieee80211(struct wcn36xx *wcn)
BIT(NL80211_IFTYPE_MESH_POINT);
wcn->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wcn_band_2ghz;
- if (wcn->rf_id != RF_IRIS_WCN3620)
+ if (wcn->rf_id != RF_IRIS_WCN3620) {
+ wcn_band_2ghz.ht_cap.mcs.rx_highest = cpu_to_le16(150);
wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz;
+ }
wcn->hw->wiphy->max_scan_ssids = WCN36XX_MAX_SCAN_SSIDS;
wcn->hw->wiphy->max_scan_ie_len = WCN36XX_MAX_SCAN_IE_LEN;