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 12:17:15 +0100
commit4b60bc1dcf322a070a98b81ebe418d745cd3f9d9 (patch)
tree542bfcbb3dc7b38e9a40031020e630cb9b8c9feb
parentac4ad33ea890daae2aeb97ff9b07afa69163ef70 (diff)
wcn36xx: Fix reported rx_highest ratetracking-5.7+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 38cc91642d8d..f276b7423b0f 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,
}
}
@@ -1188,8 +1188,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;