mac80211: Allow deleting stations in ibss mode to reset their state
authorNicolas Cavallari <nicolas.cavallari@green-communications.fr>
Thu, 5 Mar 2020 13:57:54 +0000 (14:57 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 20 Mar 2020 13:42:20 +0000 (14:42 +0100)
Set the NL80211_EXT_FEATURE_DEL_IBSS_STA if the interface support IBSS
mode, so that stations can be reset from user space.

mac80211 already deletes stations by itself, so mac80211 drivers must
already support this.

This has been successfully tested with ath9k.

Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Link: https://lore.kernel.org/r/20200305135754.12094-2-cavallar@lri.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/main.c

index ee1b248..fefdd1c 100644 (file)
@@ -1083,6 +1083,10 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
                                      NL80211_EXT_FEATURE_EXT_KEY_ID);
        }
 
+       if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_ADHOC))
+               wiphy_ext_feature_set(local->hw.wiphy,
+                                     NL80211_EXT_FEATURE_DEL_IBSS_STA);
+
        /*
         * Calculate scan IE length -- we need this to alloc
         * memory and to subtract from the driver limit. It