summaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2008-12-01 20:56:41 +0100
committerJohn W. Linville <linville@tuxdriver.com>2008-12-05 15:32:10 +0100
commite327b847e67051ece8d121f9aebeb4d736c36a02 (patch)
tree0bffbba996fdfa554323f7d793df448f0222ca91 /net/mac80211/iface.c
parenthostap: select required crypto bits in Kconfig (diff)
downloadlinux-e327b847e67051ece8d121f9aebeb4d736c36a02.tar.xz
linux-e327b847e67051ece8d121f9aebeb4d736c36a02.zip
mac80211: deauth when interface is marked down
It seems like proper etiquette to let other stations know when we are going down in either STA or IBSS mode. This also notifies userland, so wpa_supplicant doesn't get confused. Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r--net/mac80211/iface.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 46082125f3e1..9ab772ac74ae 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -435,7 +435,11 @@ static int ieee80211_stop(struct net_device *dev)
break;
case NL80211_IFTYPE_STATION:
case NL80211_IFTYPE_ADHOC:
- sdata->u.sta.state = IEEE80211_STA_MLME_DISABLED;
+ /* Announce that we are leaving the network. */
+ if (sdata->u.sta.state != IEEE80211_STA_MLME_DISABLED)
+ ieee80211_sta_deauthenticate(sdata,
+ WLAN_REASON_DEAUTH_LEAVING);
+
memset(sdata->u.sta.bssid, 0, ETH_ALEN);
del_timer_sync(&sdata->u.sta.timer);
/*