mac80211: redesign auth/assoc
This is the second part of the auth/assoc redesign, the mac80211 part. This moves the auth/assoc code out of the work abstraction and into the MLME, so that we don't flip channels all the time etc. The only downside is that when we are associated, we need to drop the association in order to create a connection to another AP, but for most drivers this is actually desirable and the ability to do was never used by any applications. If we want to implement resource reservation with FT-OTA, we'd probably best do it with explicit R-O-C in wpa_s. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
4c0c0b75e0
commit
66e67e4189
@@ -2028,7 +2028,7 @@ ieee80211_offchan_tx_done(struct ieee80211_work *wk, struct sk_buff *skb)
|
||||
if (wk->offchan_tx.wait && !wk->offchan_tx.status)
|
||||
cfg80211_mgmt_tx_status(wk->sdata->dev,
|
||||
(unsigned long) wk->offchan_tx.frame,
|
||||
wk->ie, wk->ie_len, false, GFP_KERNEL);
|
||||
wk->data, wk->data_len, false, GFP_KERNEL);
|
||||
|
||||
return WORK_DONE_DESTROY;
|
||||
}
|
||||
@@ -2179,8 +2179,8 @@ static int ieee80211_mgmt_tx(struct wiphy *wiphy, struct net_device *dev,
|
||||
wk->done = ieee80211_offchan_tx_done;
|
||||
wk->offchan_tx.frame = skb;
|
||||
wk->offchan_tx.wait = wait;
|
||||
wk->ie_len = len;
|
||||
memcpy(wk->ie, buf, len);
|
||||
wk->data_len = len;
|
||||
memcpy(wk->data, buf, len);
|
||||
|
||||
ieee80211_add_work(wk);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user