aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mt76
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-02-04 06:11:01 +0000
committerJohn Crispin <blogic@openwrt.org>2015-02-04 06:11:01 +0000
commitb0cb6d1bb88109cbc0f9bb2b46acb26e8824ffbd (patch)
treeb60d4256e2d29666654dc3b471881725c869526f /package/kernel/mt76
parent13093b4fad0ecd9f431228e557cd81db0c9d3da9 (diff)
downloadmaster-187ad058-b0cb6d1bb88109cbc0f9bb2b46acb26e8824ffbd.tar.gz
master-187ad058-b0cb6d1bb88109cbc0f9bb2b46acb26e8824ffbd.tar.bz2
master-187ad058-b0cb6d1bb88109cbc0f9bb2b46acb26e8824ffbd.zip
ralink: remove VHT capabilities when not using 802.11ac
The mt76 driver might have some problem working with MT7602. MT7602 should not have VHT capabilities . But the driver not identity properly. Signed-off-by: wengbj <fl.service@t-firefly.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44257 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mt76')
-rw-r--r--package/kernel/mt76/patches/0001-mt7602-remove-vht-capabilities.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/package/kernel/mt76/patches/0001-mt7602-remove-vht-capabilities.patch b/package/kernel/mt76/patches/0001-mt7602-remove-vht-capabilities.patch
new file mode 100644
index 0000000000..0a1f9c9862
--- /dev/null
+++ b/package/kernel/mt76/patches/0001-mt7602-remove-vht-capabilities.patch
@@ -0,0 +1,46 @@
+--- a/init.c
++++ b/init.c
+@@ -682,24 +682,27 @@ mt76_init_sband(struct mt76_dev *dev, st
+ ht_cap->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
+ ht_cap->ampdu_density = IEEE80211_HT_MPDU_DENSITY_4;
+
+- vht_cap = &sband->vht_cap;
+- vht_cap->vht_supported = true;
++ if (dev->cap.has_5ghz)
++ {
++ vht_cap = &sband->vht_cap;
++ vht_cap->vht_supported = true;
+
+- mcs_map = (IEEE80211_VHT_MCS_SUPPORT_0_9 << (0 * 2)) |
+- (IEEE80211_VHT_MCS_SUPPORT_0_9 << (1 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (2 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (3 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (4 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (5 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (6 * 2)) |
+- (IEEE80211_VHT_MCS_NOT_SUPPORTED << (7 * 2));
++ mcs_map = (IEEE80211_VHT_MCS_SUPPORT_0_9 << (0 * 2)) |
++ (IEEE80211_VHT_MCS_SUPPORT_0_9 << (1 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (2 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (3 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (4 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (5 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (6 * 2)) |
++ (IEEE80211_VHT_MCS_NOT_SUPPORTED << (7 * 2));
+
+- vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map);
+- vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map);
+- vht_cap->cap = IEEE80211_VHT_CAP_RXLDPC |
+- IEEE80211_VHT_CAP_TXSTBC |
+- IEEE80211_VHT_CAP_RXSTBC_1 |
+- IEEE80211_VHT_CAP_SHORT_GI_80;
++ vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map);
++ vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map);
++ vht_cap->cap = IEEE80211_VHT_CAP_RXLDPC |
++ IEEE80211_VHT_CAP_TXSTBC |
++ IEEE80211_VHT_CAP_RXSTBC_1 |
++ IEEE80211_VHT_CAP_SHORT_GI_80;
++ }
+
+ dev->chandef.chan = &sband->channels[0];
+