aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
authorKoen Vandeputte <koen.vandeputte@ncentric.com>2017-02-08 16:11:01 +0100
committerFelix Fietkau <nbd@nbd.name>2017-02-12 15:57:37 +0100
commit75216a76b07941353fa79b0406b65af8acdb130e (patch)
tree754ac6ce7dcd46cad75a9bb4a37ec09ba72e715c /package/kernel
parent33154eaf41e8045def037ca037d8a29a2b3e8284 (diff)
downloadupstream-75216a76b07941353fa79b0406b65af8acdb130e.tar.gz
upstream-75216a76b07941353fa79b0406b65af8acdb130e.tar.bz2
upstream-75216a76b07941353fa79b0406b65af8acdb130e.zip
mac80211: backport upstream fix for CSA in IBSS mode
Allows to change channels on-the-fly using CSA when using IBSS. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch b/package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch
new file mode 100644
index 0000000000..13765b2900
--- /dev/null
+++ b/package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch
@@ -0,0 +1,34 @@
+From: Koen Vandeputte <koen.vandeputte@ncentric.com>
+Date: Wed, 8 Feb 2017 15:29:45 +0100
+Subject: [PATCH] mac80211: fix CSA in IBSS mode
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add the missing IBSS capability flag during capability init as it needs
+to be inserted into the generated beacon in order for CSA to work.
+
+Signed-off-by: Piotr Gawlowicz <gawlowicz@tkn.tu-berlin.de>
+Signed-off-by: MikoĊ‚aj Chwalisz <chwalisz@tkn.tu-berlin.de>
+Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
+---
+
+--- a/net/mac80211/ibss.c
++++ b/net/mac80211/ibss.c
+@@ -487,14 +487,14 @@ int ieee80211_ibss_csa_beacon(struct iee
+ struct beacon_data *presp, *old_presp;
+ struct cfg80211_bss *cbss;
+ const struct cfg80211_bss_ies *ies;
+- u16 capability = 0;
++ u16 capability = WLAN_CAPABILITY_IBSS;
+ u64 tsf;
+ int ret = 0;
+
+ sdata_assert_lock(sdata);
+
+ if (ifibss->privacy)
+- capability = WLAN_CAPABILITY_PRIVACY;
++ capability |= WLAN_CAPABILITY_PRIVACY;
+
+ cbss = cfg80211_get_bss(sdata->local->hw.wiphy, ifibss->chandef.chan,
+ ifibss->bssid, ifibss->ssid,