diff options
author | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2017-02-08 16:11:01 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-02-12 15:57:37 +0100 |
commit | 75216a76b07941353fa79b0406b65af8acdb130e (patch) | |
tree | 754ac6ce7dcd46cad75a9bb4a37ec09ba72e715c /package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch | |
parent | 33154eaf41e8045def037ca037d8a29a2b3e8284 (diff) | |
download | upstream-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/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch')
-rw-r--r-- | package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch | 34 |
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, |