[LEDE-DEV] [PATCH 1/2] mac80211: backport upstream fix for CSA in IBSS mode

Koen Vandeputte koen.vandeputte at ncentric.com
Thu Feb 9 06:29:09 PST 2017


Patch got accepted upstream.

https://git.kernel.org/cgit/linux/kernel/git/jberg/mac80211-next.git/commit/?id=f181d6a3bcc35633facf5f3925699021c13492c5


On 2017-02-08 16:11, Koen Vandeputte wrote:
> Allows to change channels on-the-fly using CSA when using IBSS.
>
> Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
> ---
>
> fyi: Fix is still awaiting upstream approval
>
>
>   .../320-mac80211-fix-CSA-in-IBSS-mode.patch        | 34 ++++++++++++++++++++++
>   1 file changed, 34 insertions(+)
>   create mode 100644 package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch
>
> 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 0000000..13765b2
> --- /dev/null
> +++ b/package/kernel/mac80211/patches/320-mac80211-fix-CSA-in-IBSS-mode.patch
> @@ -0,0 +1,34 @@
> +From: Koen Vandeputte <koen.vandeputte at 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 at tkn.tu-berlin.de>
> +Signed-off-by: Mikołaj Chwalisz <chwalisz at tkn.tu-berlin.de>
> +Tested-by: Koen Vandeputte <koen.vandeputte at 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,



More information about the Lede-dev mailing list