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-18 21:15:30 +0100
commitee2a0ebaae7515dd75f3e6a98d9616ab4d3b9fcd (patch)
treeede5e190b13195fa7d0b4562be2c9729ba64d1ed
parent9e5e1216eb33f8efb5d9a0cf8075c9a82f19b06c (diff)
wcn36xx: Fix reported rx_highest ratelinux-4.19.y+wcn36xx-802.11.n+bluetooth-v1
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;