summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-09-15 09:22:35 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:39:05 -0800
commit5d5ddc1431a1af9f85c84b1e592ab3cbe41e880b (patch)
tree9c6d3bb75b1121ec62cdb7637e7855ab28be53c7 /net/wireless
parenta1d5055fd24572b878e46651f6dab9ec005a7e5f (diff)
net: wireless: Add CFG80211_ALLOW_RECONNECT option
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/Kconfig11
-rw-r--r--net/wireless/sme.c2
2 files changed, 13 insertions, 0 deletions
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 1f1ef70f34f2..8e2a668c9230 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -159,3 +159,14 @@ config LIB80211_DEBUG
from lib80211.
If unsure, say N.
+
+config CFG80211_ALLOW_RECONNECT
+ bool "Allow reconnect while already connected"
+ depends on CFG80211
+ default n
+ help
+ cfg80211 stack doesn't allow to connect if you are already
+ connected. This option allows to make a connection in this case.
+
+ Select this option ONLY for wlan drivers that are specifically
+ built for such purposes.
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index dec0fa28372e..a346241e5335 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -760,8 +760,10 @@ int __cfg80211_connect(struct cfg80211_registered_device *rdev,
ASSERT_WDEV_LOCK(wdev);
+#ifndef CONFIG_CFG80211_ALLOW_RECONNECT
if (wdev->sme_state != CFG80211_SME_IDLE)
return -EALREADY;
+#endif
if (WARN_ON(wdev->connect_keys)) {
kfree(wdev->connect_keys);