diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-09-16 15:12:33 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-09-16 15:46:17 -0400 |
commit | 3bc3c0d748402e8c1f31b8569f5924d25d7b8e30 (patch) | |
tree | d1c3d1d626ed5c5aca8706e78dac2a1dacd46a80 /net/mac80211/offchannel.c | |
parent | d3a910a8e4e846b9a767d35483f4dc7c6de7af82 (diff) |
mac80211: disable beacon monitor while going offchannel
The beacon monitor should be disabled when going off channel
to prevent spurious warnings and triggering connection
deterioration work such as sending probe requests. Re-enable
the beacon monitor once we come back to the home channel.
This patch has fixes for stable kernels [2.6.34+].
Cc: stable@kernel.org
Cc: Paul Stewart <pstew@google.com>
Cc: Amod Bodas <amod.bodas@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/offchannel.c')
-rw-r--r-- | net/mac80211/offchannel.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c index 627a33ef84c4..4b564091e51d 100644 --- a/net/mac80211/offchannel.c +++ b/net/mac80211/offchannel.c | |||
@@ -29,6 +29,7 @@ static void ieee80211_offchannel_ps_enable(struct ieee80211_sub_if_data *sdata) | |||
29 | /* FIXME: what to do when local->pspolling is true? */ | 29 | /* FIXME: what to do when local->pspolling is true? */ |
30 | 30 | ||
31 | del_timer_sync(&local->dynamic_ps_timer); | 31 | del_timer_sync(&local->dynamic_ps_timer); |
32 | del_timer_sync(&ifmgd->bcn_mon_timer); | ||
32 | del_timer_sync(&ifmgd->conn_mon_timer); | 33 | del_timer_sync(&ifmgd->conn_mon_timer); |
33 | 34 | ||
34 | cancel_work_sync(&local->dynamic_ps_enable_work); | 35 | cancel_work_sync(&local->dynamic_ps_enable_work); |
@@ -89,6 +90,7 @@ static void ieee80211_offchannel_ps_disable(struct ieee80211_sub_if_data *sdata) | |||
89 | msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); | 90 | msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); |
90 | } | 91 | } |
91 | 92 | ||
93 | ieee80211_sta_reset_beacon_monitor(sdata); | ||
92 | ieee80211_sta_reset_conn_monitor(sdata); | 94 | ieee80211_sta_reset_conn_monitor(sdata); |
93 | } | 95 | } |
94 | 96 | ||