diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-20 13:05:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-02 15:23:11 -0400 |
commit | 6911bf0453e0d6ea8eb694a4ce67a68d071c538e (patch) | |
tree | 2653b4e2bdbd438b0e9c9872084099308eccf2ce /net | |
parent | eaa7af2ae582c9a8c51b374c48d5970b748a5ce2 (diff) |
mac80211: config hw when going back on-channel
When going back on-channel, we should reconfigure
the hw iff the hardware is not already configured
to the operational channel.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Cc: stable@kernel.org # 2.6.39+
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/work.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c index bf5be22a977c..6c53b6d1002b 100644 --- a/net/mac80211/work.c +++ b/net/mac80211/work.c | |||
@@ -1091,7 +1091,6 @@ static void ieee80211_work_work(struct work_struct *work) | |||
1091 | } | 1091 | } |
1092 | 1092 | ||
1093 | if (!remain_off_channel && local->tmp_channel) { | 1093 | if (!remain_off_channel && local->tmp_channel) { |
1094 | bool on_oper_chan = ieee80211_cfg_on_oper_channel(local); | ||
1095 | local->tmp_channel = NULL; | 1094 | local->tmp_channel = NULL; |
1096 | /* If tmp_channel wasn't operating channel, then | 1095 | /* If tmp_channel wasn't operating channel, then |
1097 | * we need to go back on-channel. | 1096 | * we need to go back on-channel. |
@@ -1101,7 +1100,7 @@ static void ieee80211_work_work(struct work_struct *work) | |||
1101 | * we still need to do a hardware config. Currently, | 1100 | * we still need to do a hardware config. Currently, |
1102 | * we cannot be here while scanning, however. | 1101 | * we cannot be here while scanning, however. |
1103 | */ | 1102 | */ |
1104 | if (ieee80211_cfg_on_oper_channel(local) && !on_oper_chan) | 1103 | if (!ieee80211_cfg_on_oper_channel(local)) |
1105 | ieee80211_hw_config(local, 0); | 1104 | ieee80211_hw_config(local, 0); |
1106 | 1105 | ||
1107 | /* At the least, we need to disable offchannel_ps, | 1106 | /* At the least, we need to disable offchannel_ps, |