summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-10-20 19:05:49 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-11-02 15:23:11 -0400
commiteaa7af2ae582c9a8c51b374c48d5970b748a5ce2 (patch)
treea536b7cd80d696d21074705ccddf2017eb7203b1 /net
parent91ae4d02913808fc4056168766185d1a3bd63f65 (diff)
downloadlinux-rpi3-eaa7af2ae582c9a8c51b374c48d5970b748a5ce2.tar.gz
linux-rpi3-eaa7af2ae582c9a8c51b374c48d5970b748a5ce2.tar.bz2
linux-rpi3-eaa7af2ae582c9a8c51b374c48d5970b748a5ce2.zip
mac80211: fix remain_off_channel regression
The offchannel code is currently broken - we should remain_off_channel if the work was started, and the work's channel and channel_type are the same as local->tmp_channel and local->tmp_channel_type. However, if wk->chan_type and local->tmp_channel_type coexist (e.g. have the same channel type), we won't remain_off_channel. This behavior was introduced by commit da2fd1f ("mac80211: Allow work items to use existing channel type.") Tested-by: Ben Greear <greearb@candelatech.com> 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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c
index 94472eb34d76..bf5be22a977c 100644
--- a/net/mac80211/work.c
+++ b/net/mac80211/work.c
@@ -1084,8 +1084,8 @@ static void ieee80211_work_work(struct work_struct *work)
continue;
if (wk->chan != local->tmp_channel)
continue;
- if (ieee80211_work_ct_coexists(wk->chan_type,
- local->tmp_channel_type))
+ if (!ieee80211_work_ct_coexists(wk->chan_type,
+ local->tmp_channel_type))
continue;
remain_off_channel = true;
}