mac80211: fix CSA in IBSS mode
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Wed, 8 Feb 2017 14:32:05 +0000 (15:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Jun 2017 05:11:13 +0000 (07:11 +0200)
commit f181d6a3bcc35633facf5f3925699021c13492c5 upstream.

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.

Fixes: cd7760e62c2ac ("mac80211: add support for CSA in IBSS mode")
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>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/ibss.c

index a31d30713d0897e7b41f71b444443abdd8c94645..98999d3d5262743cf32ef92480772f034e70baf1 100644 (file)
@@ -487,14 +487,14 @@ int ieee80211_ibss_csa_beacon(struct ieee80211_sub_if_data *sdata,
        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,