summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg2019-02-06 12:17:12 +0100
committerGreg Kroah-Hartman2019-03-23 20:09:44 +0100
commitbff33ba4f9ca12110a35da806c2a4a21a6e90cf1 (patch)
treecc9ef82a0c57e52cd7b06d64959534582966c858 /net/mac80211
parentInput: matrix_keypad - use flush_delayed_work() (diff)
downloadkernel-qcow2-linux-bff33ba4f9ca12110a35da806c2a4a21a6e90cf1.tar.gz
kernel-qcow2-linux-bff33ba4f9ca12110a35da806c2a4a21a6e90cf1.tar.xz
kernel-qcow2-linux-bff33ba4f9ca12110a35da806c2a4a21a6e90cf1.zip
mac80211: call drv_ibss_join() on restart
[ Upstream commit 4926b51bfaa6d36bd6f398fb7698679d3962e19d ] If a driver does any significant activity in its ibss_join method, then it will very well expect that to be called during restart, before any stations are added. Do that. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 716cd6442d86..3deaa01ebee4 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -5,7 +5,7 @@
* Copyright 2007 Johannes Berg <johannes@sipsolutions.net>
* Copyright 2013-2014 Intel Mobile Communications GmbH
* Copyright (C) 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018 Intel Corporation
+ * Copyright (C) 2018-2019 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -2020,6 +2020,10 @@ int ieee80211_reconfig(struct ieee80211_local *local)
case NL80211_IFTYPE_AP_VLAN:
case NL80211_IFTYPE_MONITOR:
break;
+ case NL80211_IFTYPE_ADHOC:
+ if (sdata->vif.bss_conf.ibss_joined)
+ WARN_ON(drv_join_ibss(local, sdata));
+ /* fall through */
default:
ieee80211_reconfig_stations(sdata);
/* fall through */