diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-20 19:05:49 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-11 09:44:44 -0800 |
commit | 0ecc0ae0b8a9d86cd1adc68506c5d4bd77d740cc (patch) | |
tree | ae0600a8903b12c7c7d0f4bbf8955662e0acc833 | |
parent | ab4ff307d18f5aa924c31e8b99bec3d8c560464e (diff) | |
download | linux-stable-0ecc0ae0b8a9d86cd1adc68506c5d4bd77d740cc.tar.gz linux-stable-0ecc0ae0b8a9d86cd1adc68506c5d4bd77d740cc.tar.bz2 linux-stable-0ecc0ae0b8a9d86cd1adc68506c5d4bd77d740cc.zip |
mac80211: fix remain_off_channel regression
commit eaa7af2ae582c9a8c51b374c48d5970b748a5ce2 upstream.
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | net/mac80211/work.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c index 8042c40e56fe..94942f495089 100644 --- a/net/mac80211/work.c +++ b/net/mac80211/work.c @@ -1086,8 +1086,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; } |