mac80211: introduce hw config change flags
This makes mac80211 notify the driver which configuration actually changed, e.g. channel etc. No driver changes, this is just plumbing, driver authors are expected to act on this if they want to. Also remove the HW CONFIG debug printk, it's incorrect, often we configure something else. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
0f4ac38b59
commit
e8975581f6
@ -448,12 +448,17 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw)
|
||||
|
||||
if (local->hw_scanning) {
|
||||
local->hw_scanning = false;
|
||||
ieee80211_hw_config(local);
|
||||
/*
|
||||
* Somebody might have requested channel change during scan
|
||||
* that we won't have acted upon, try now. ieee80211_hw_config
|
||||
* will set the flag based on actual changes.
|
||||
*/
|
||||
ieee80211_hw_config(local, 0);
|
||||
goto done;
|
||||
}
|
||||
|
||||
local->sw_scanning = false;
|
||||
ieee80211_hw_config(local);
|
||||
ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL);
|
||||
|
||||
netif_tx_lock_bh(local->mdev);
|
||||
netif_addr_lock(local->mdev);
|
||||
@ -540,7 +545,8 @@ void ieee80211_scan_work(struct work_struct *work)
|
||||
|
||||
if (!skip) {
|
||||
local->scan_channel = chan;
|
||||
if (ieee80211_hw_config(local))
|
||||
if (ieee80211_hw_config(local,
|
||||
IEEE80211_CONF_CHANGE_CHANNEL))
|
||||
skip = 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user