diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-12-02 19:20:03 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-12-02 19:20:03 +0100 |
commit | a59b40b30f3f51bf5c56c15a7dc4da11b424a34b (patch) | |
tree | 42528df41174b170cd30aa1da23e597fe6f43429 /net | |
parent | brcmfmac: fix uninitialized warning (diff) | |
parent | mac80211: check csa wiphy flag in ibss before switching (diff) | |
download | linux-a59b40b30f3f51bf5c56c15a7dc4da11b424a34b.tar.xz linux-a59b40b30f3f51bf5c56c15a7dc4da11b424a34b.zip |
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/ibss.c | 4 | ||||
-rw-r--r-- | net/wireless/core.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 531be040b9ae..27a39de89679 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -823,6 +823,10 @@ ieee80211_ibss_process_chanswitch(struct ieee80211_sub_if_data *sdata, if (err) return false; + /* channel switch is not supported, disconnect */ + if (!(sdata->local->hw.wiphy->flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH)) + goto disconnect; + params.count = csa_ie.count; params.chandef = csa_ie.chandef; diff --git a/net/wireless/core.c b/net/wireless/core.c index 00a65ba3aeaa..52b865fb7351 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -454,6 +454,12 @@ int wiphy_register(struct wiphy *wiphy) /* support for 5/10 MHz is broken due to nl80211 API mess - disable */ wiphy->flags &= ~WIPHY_FLAG_SUPPORTS_5_10_MHZ; + /* + * There are major locking problems in nl80211/mac80211 for CSA, + * disable for all drivers until this has been reworked. + */ + wiphy->flags &= ~WIPHY_FLAG_HAS_CHANNEL_SWITCH; + #ifdef CONFIG_PM if (WARN_ON(wiphy->wowlan && (wiphy->wowlan->flags & WIPHY_WOWLAN_GTK_REKEY_FAILURE) && |