summaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-07 14:37:26 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:02:30 -0400
commit3e5d7649a64e558e4146ddfad4dfcf13fc65dd47 (patch)
treefa51725ca07cf682e6694ba5f107d8614d9f0972 /net/mac80211/cfg.c
parent2ffa5fede379091bf62a732462b829e4b51af054 (diff)
downloadlinux-3e5d7649a64e558e4146ddfad4dfcf13fc65dd47.tar.gz
linux-3e5d7649a64e558e4146ddfad4dfcf13fc65dd47.tar.bz2
linux-3e5d7649a64e558e4146ddfad4dfcf13fc65dd47.zip
cfg80211: let SME control reassociation vs. association
Since we don't really know that well in the kernel, let's let the SME control whether it wants to use reassociation or not, by allowing it to give the previous BSSID in the associate() parameters. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 0f29cd0580c9..e6d8860f26f2 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1256,6 +1256,12 @@ static int ieee80211_assoc(struct wiphy *wiphy, struct net_device *dev,
sdata->u.mgd.flags &= ~IEEE80211_STA_MFP_ENABLED;
}
+ if (req->prev_bssid) {
+ sdata->u.mgd.flags |= IEEE80211_STA_PREV_BSSID_SET;
+ memcpy(sdata->u.mgd.prev_bssid, req->prev_bssid, ETH_ALEN);
+ } else
+ sdata->u.mgd.flags &= ~IEEE80211_STA_PREV_BSSID_SET;
+
if (req->crypto.control_port)
sdata->u.mgd.flags |= IEEE80211_STA_CONTROL_PORT;
else