openwrtv4/package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch
Koen Vandeputte 75216a76b0 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>
2017-02-12 15:57:37 +01:00

34 lines
1.1 KiB
Diff

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,