Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 675ef586 authored by Mohamed Abbas's avatar Mohamed Abbas Committed by John W. Linville
Browse files

mac80211: prevent tuning during scanning



Postpone calling ieee80211_hw_config if hardware scanning is active.
This is similar to solution for software scanning where channel setting
is delayed until scan complete.

Signed-off-by: default avatarMohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 85249e5f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -287,7 +287,7 @@ int ieee80211_set_freq(struct ieee80211_local *local, int freqMHz)
	if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) {
		local->oper_channel = chan;

		if (local->sta_sw_scanning)
		if (local->sta_sw_scanning || local->sta_hw_scanning)
			ret = 0;
		else
			ret = ieee80211_hw_config(local);
+3 −0
Original line number Diff line number Diff line
@@ -3615,6 +3615,9 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw)

	if (local->sta_hw_scanning) {
		local->sta_hw_scanning = 0;
		if (ieee80211_hw_config(local))
			printk(KERN_DEBUG "%s: failed to restore operational "
			       "channel after scan\n", dev->name);
		/* Restart STA timer for HW scan case */
		rcu_read_lock();
		list_for_each_entry_rcu(sdata, &local->interfaces, list)