diff options
Diffstat (limited to 'net/wireless/sme.c')
| -rw-r--r-- | net/wireless/sme.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 3ed35c345ca..e2f74e66a16 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -707,8 +707,10 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie,  		    wdev->iftype != NL80211_IFTYPE_P2P_CLIENT))  		return; +#ifndef CONFIG_CFG80211_ALLOW_RECONNECT  	if (wdev->sme_state != CFG80211_SME_CONNECTED)  		return; +#endif  	if (wdev->current_bss) {  		cfg80211_unhold_bss(wdev->current_bss); @@ -785,10 +787,14 @@ 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;  	if (WARN_ON(wdev->connect_keys)) { +#else +	if (wdev->connect_keys) { +#endif  		kfree(wdev->connect_keys);  		wdev->connect_keys = NULL;  	}  |