summaryrefslogtreecommitdiffstats
path: root/net/wireless/sme.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2018-12-11 20:58:20 +0100
committerWolfram Sang <wsa@the-dreams.de>2018-12-11 20:58:20 +0100
commit66693960f574aa830986e1603657af36423b24eb (patch)
tree035aae54d64d79e514f95e18cc3dcf411a98c55e /net/wireless/sme.c
parent3ca3f86f7f4856222a8b697d60d32717160a1a1b (diff)
parent40e020c129cfc991e8ab4736d2665351ffd1468d (diff)
downloadlinux-66693960f574aa830986e1603657af36423b24eb.tar.gz
linux-66693960f574aa830986e1603657af36423b24eb.tar.bz2
linux-66693960f574aa830986e1603657af36423b24eb.zip
Merge tag 'v4.20-rc6' into i2c/for-5.0
Linux 4.20-rc6
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r--net/wireless/sme.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index d536b07582f8..f741d8376a46 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -642,11 +642,15 @@ static bool cfg80211_is_all_idle(void)
* All devices must be idle as otherwise if you are actively
* scanning some new beacon hints could be learned and would
* count as new regulatory hints.
+ * Also if there is any other active beaconing interface we
+ * need not issue a disconnect hint and reset any info such
+ * as chan dfs state, etc.
*/
list_for_each_entry(rdev, &cfg80211_rdev_list, list) {
list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
wdev_lock(wdev);
- if (wdev->conn || wdev->current_bss)
+ if (wdev->conn || wdev->current_bss ||
+ cfg80211_beaconing_iface_active(wdev))
is_all_idle = false;
wdev_unlock(wdev);
}
@@ -1171,6 +1175,8 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev,
cfg80211_oper_and_ht_capa(&connect->ht_capa_mask,
rdev->wiphy.ht_capa_mod_mask);
+ cfg80211_oper_and_vht_capa(&connect->vht_capa_mask,
+ rdev->wiphy.vht_capa_mod_mask);
if (connkeys && connkeys->def >= 0) {
int idx;