diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-01-26 23:24:59 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-01-26 23:30:23 +0100 |
commit | d58c8f4029fa2c214454d7a5229e4964cbbc8fe1 (patch) | |
tree | 13522fdf9290898764319092dce89ab5cb4a564a /package/kernel/mac80211/patches | |
parent | cfdfa6d04e16b001e45054dafbf5df3cfc98ef03 (diff) | |
download | upstream-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.patch | 60 |
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 */ |