mac80211: backport upstream fix for CSA in IBSS mode
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Wed, 8 Feb 2017 15:11:01 +0000 (16:11 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 12 Feb 2017 14:57:37 +0000 (15:57 +0100)
Allows to change channels on-the-fly using CSA when using IBSS.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch [new file with mode: 0644]

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 (file)
index 0000000..13765b2
--- /dev/null
@@ -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,