aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/core.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-08-07 08:51:05 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-14 09:13:43 -0400
commitf401a6f7ede753e56b84025e7d2db0d5ef560ce6 (patch)
tree12b077096234ba0f990c637665d11e0afa608b17 /net/wireless/core.h
parent59bbb6f7574bc693ed8313b98eac641116c95b94 (diff)
cfg80211: use reassociation when possible
With the move of everything related to the SME from mac80211 to cfg80211, we lost the ability to send reassociation frames. This adds them back, but only for wireless extensions. With the userspace SME, it shall control assoc vs. reassoc (it already can do so with the nl80211 interface). I haven't touched the connect() implementation, so it is not possible to reassociate with the nl80211 connect primitive. I think that should be done with the NL80211_CMD_ROAM command, but we'll have to see how that can be handled in the future, especially with fullmac chips. This patch addresses only the immediate regression we had in mac80211, which previously sent reassoc. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/core.h')
-rw-r--r--net/wireless/core.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 5696b95af9be..92e0492b0e4d 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -335,7 +335,8 @@ void __cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
335int __cfg80211_connect(struct cfg80211_registered_device *rdev, 335int __cfg80211_connect(struct cfg80211_registered_device *rdev,
336 struct net_device *dev, 336 struct net_device *dev,
337 struct cfg80211_connect_params *connect, 337 struct cfg80211_connect_params *connect,
338 struct cfg80211_cached_keys *connkeys); 338 struct cfg80211_cached_keys *connkeys,
339 const u8 *prev_bssid);
339int cfg80211_connect(struct cfg80211_registered_device *rdev, 340int cfg80211_connect(struct cfg80211_registered_device *rdev,
340 struct net_device *dev, 341 struct net_device *dev,
341 struct cfg80211_connect_params *connect, 342 struct cfg80211_connect_params *connect,
@@ -353,6 +354,7 @@ int cfg80211_mgd_wext_connect(struct cfg80211_registered_device *rdev,
353 struct wireless_dev *wdev); 354 struct wireless_dev *wdev);
354 355
355void cfg80211_conn_work(struct work_struct *work); 356void cfg80211_conn_work(struct work_struct *work);
357bool cfg80211_sme_failed_reassoc(struct wireless_dev *wdev);
356 358
357/* internal helpers */ 359/* internal helpers */
358int cfg80211_validate_key_settings(struct cfg80211_registered_device *rdev, 360int cfg80211_validate_key_settings(struct cfg80211_registered_device *rdev,