aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2008-12-01 14:56:41 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-05 09:32:10 -0500
commite327b847e67051ece8d121f9aebeb4d736c36a02 (patch)
tree0bffbba996fdfa554323f7d793df448f0222ca91
parent04adf890667050b83a58abaf63610e53a604261b (diff)
downloadkernel_samsung_smdk4412-e327b847e67051ece8d121f9aebeb4d736c36a02.zip
kernel_samsung_smdk4412-e327b847e67051ece8d121f9aebeb4d736c36a02.tar.gz
kernel_samsung_smdk4412-e327b847e67051ece8d121f9aebeb4d736c36a02.tar.bz2
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>
-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 4608212..9ab772a 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);
/*