aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-01-26 23:24:59 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-01-26 23:30:23 +0100
commitd58c8f4029fa2c214454d7a5229e4964cbbc8fe1 (patch)
tree13522fdf9290898764319092dce89ab5cb4a564a /package/kernel/mac80211/patches
parentcfdfa6d04e16b001e45054dafbf5df3cfc98ef03 (diff)
downloadupstream-d58c8f4029fa2c214454d7a5229e4964cbbc8fe1.tar.gz
upstream-d58c8f4029fa2c214454d7a5229e4964cbbc8fe1.tar.bz2
upstream-d58c8f4029fa2c214454d7a5229e4964cbbc8fe1.zip
mac80211: revert "wireless: set correct mandatory rate flags"
Revert upstream commit 1bd773c077de "wireless: set correct mandatory rate flags", as it breaks 11s interoperability: nodes can only associate when neither or both have this patch. As this is a regression from released versions, revert to the old code for now. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Diffstat (limited to 'package/kernel/mac80211/patches')
-rw-r--r--package/kernel/mac80211/patches/324-Revert-wireless-set-correct-mandatory-rate-flags.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/324-Revert-wireless-set-correct-mandatory-rate-flags.patch b/package/kernel/mac80211/patches/324-Revert-wireless-set-correct-mandatory-rate-flags.patch
new file mode 100644
index 0000000000..2ae9b7df01
--- /dev/null
+++ b/package/kernel/mac80211/patches/324-Revert-wireless-set-correct-mandatory-rate-flags.patch
@@ -0,0 +1,60 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Fri, 26 Jan 2018 23:23:37 +0100
+Subject: [PATCH] Revert "wireless: set correct mandatory rate flags"
+
+This reverts commit 1bd773c077deeeb2d9ced1fdb6d846169b8e7e4a.
+---
+ net/wireless/util.c | 30 ++++++++++++++++--------------
+ 1 file changed, 16 insertions(+), 14 deletions(-)
+
+diff --git a/net/wireless/util.c b/net/wireless/util.c
+index c69160694b6c..2bb37231c8fe 100644
+--- a/net/wireless/util.c
++++ b/net/wireless/util.c
+@@ -157,30 +157,32 @@ static void set_mandatory_flags_band(str
+ case NL80211_BAND_2GHZ:
+ want = 7;
+ for (i = 0; i < sband->n_bitrates; i++) {
+- switch (sband->bitrates[i].bitrate) {
+- case 10:
+- case 20:
+- case 55:
+- case 110:
++ if (sband->bitrates[i].bitrate == 10) {
+ sband->bitrates[i].flags |=
+ IEEE80211_RATE_MANDATORY_B |
+ IEEE80211_RATE_MANDATORY_G;
+ want--;
+- break;
+- case 60:
+- case 120:
+- case 240:
++ }
++
++ if (sband->bitrates[i].bitrate == 20 ||
++ sband->bitrates[i].bitrate == 55 ||
++ sband->bitrates[i].bitrate == 110 ||
++ sband->bitrates[i].bitrate == 60 ||
++ sband->bitrates[i].bitrate == 120 ||
++ sband->bitrates[i].bitrate == 240) {
+ sband->bitrates[i].flags |=
+ IEEE80211_RATE_MANDATORY_G;
+ want--;
+- /* fall through */
+- default:
++ }
++
++ if (sband->bitrates[i].bitrate != 10 &&
++ sband->bitrates[i].bitrate != 20 &&
++ sband->bitrates[i].bitrate != 55 &&
++ sband->bitrates[i].bitrate != 110)
+ sband->bitrates[i].flags |=
+ IEEE80211_RATE_ERP_G;
+- break;
+- }
+ }
+- WARN_ON(want != 0 && want != 3);
++ WARN_ON(want != 0 && want != 3 && want != 6);
+ break;
+ case NL80211_BAND_60GHZ:
+ /* check for mandatory HT MCS 1..4 */