aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/sme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-07 08:37:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:02:30 -0400
commit3e5d7649a64e558e4146ddfad4dfcf13fc65dd47 (patch)
treefa51725ca07cf682e6694ba5f107d8614d9f0972 /net/wireless/sme.c
parent2ffa5fede379091bf62a732462b829e4b51af054 (diff)
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/wireless/sme.c')
-rw-r--r--net/wireless/sme.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index 412161f7b08e..066a19ef9d73 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -125,8 +125,14 @@ static int cfg80211_conn_do_work(struct wireless_dev *wdev)
125 case CFG80211_CONN_ASSOCIATE_NEXT: 125 case CFG80211_CONN_ASSOCIATE_NEXT:
126 BUG_ON(!drv->ops->assoc); 126 BUG_ON(!drv->ops->assoc);
127 wdev->conn->state = CFG80211_CONN_ASSOCIATING; 127 wdev->conn->state = CFG80211_CONN_ASSOCIATING;
128 /*
129 * We could, later, implement roaming here and then actually
130 * set prev_bssid to non-NULL. But then we need to be aware
131 * that some APs don't like that -- so we'd need to retry
132 * the association.
133 */
128 err = cfg80211_mlme_assoc(drv, wdev->netdev, 134 err = cfg80211_mlme_assoc(drv, wdev->netdev,
129 params->channel, params->bssid, 135 params->channel, params->bssid, NULL,
130 params->ssid, params->ssid_len, 136 params->ssid, params->ssid_len,
131 params->ie, params->ie_len, 137 params->ie, params->ie_len,
132 false, &params->crypto); 138 false, &params->crypto);