aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/scan.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2013-01-28 13:54:03 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-01-28 13:54:03 -0500
commit9ebea3829fac7505e0cd2642fbd13cfa9c038831 (patch)
treeed690568a27b7231b8a507e8ba07c1ae34868e5c /net/mac80211/scan.c
parentc5e818ef081c4144177fdbdeed154332cd7e4d7a (diff)
parent83f0c6d1f502bd75bb4a9e31e8d64e59c6894ad1 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts: drivers/net/wireless/ath/ath9k/main.c drivers/net/wireless/iwlwifi/dvm/tx.c
Diffstat (limited to 'net/mac80211/scan.c')
-rw-r--r--net/mac80211/scan.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 06cbe26892a8..607684c47d55 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -291,7 +291,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted,
291 if (!was_hw_scan) { 291 if (!was_hw_scan) {
292 ieee80211_configure_filter(local); 292 ieee80211_configure_filter(local);
293 drv_sw_scan_complete(local); 293 drv_sw_scan_complete(local);
294 ieee80211_offchannel_return(local, true); 294 ieee80211_offchannel_return(local);
295 } 295 }
296 296
297 ieee80211_recalc_idle(local); 297 ieee80211_recalc_idle(local);
@@ -340,7 +340,7 @@ static int ieee80211_start_sw_scan(struct ieee80211_local *local)
340 local->next_scan_state = SCAN_DECISION; 340 local->next_scan_state = SCAN_DECISION;
341 local->scan_channel_idx = 0; 341 local->scan_channel_idx = 0;
342 342
343 ieee80211_offchannel_stop_vifs(local, true); 343 ieee80211_offchannel_stop_vifs(local);
344 344
345 ieee80211_configure_filter(local); 345 ieee80211_configure_filter(local);
346 346
@@ -677,12 +677,8 @@ static void ieee80211_scan_state_suspend(struct ieee80211_local *local,
677 local->scan_channel = NULL; 677 local->scan_channel = NULL;
678 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); 678 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL);
679 679
680 /* 680 /* disable PS */
681 * Re-enable vifs and beaconing. Leave PS 681 ieee80211_offchannel_return(local);
682 * in off-channel state..will put that back
683 * on-channel at the end of scanning.
684 */
685 ieee80211_offchannel_return(local, false);
686 682
687 *next_delay = HZ / 5; 683 *next_delay = HZ / 5;
688 /* afterwards, resume scan & go to next channel */ 684 /* afterwards, resume scan & go to next channel */
@@ -692,8 +688,7 @@ static void ieee80211_scan_state_suspend(struct ieee80211_local *local,
692static void ieee80211_scan_state_resume(struct ieee80211_local *local, 688static void ieee80211_scan_state_resume(struct ieee80211_local *local,
693 unsigned long *next_delay) 689 unsigned long *next_delay)
694{ 690{
695 /* PS already is in off-channel mode */ 691 ieee80211_offchannel_stop_vifs(local);
696 ieee80211_offchannel_stop_vifs(local, false);
697 692
698 if (local->ops->flush) { 693 if (local->ops->flush) {
699 drv_flush(local, false); 694 drv_flush(local, false);