diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-07-26 15:11:27 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-07-26 15:11:27 +0000 |
commit | 631b233e20804e096e40f192a1090bc86b4fd3d5 (patch) | |
tree | 861b979e6d79bee81e75ad35cb807ad5a1168f4e /package | |
parent | 9543d734cffd138b8c6aed1def85f38d50d44027 (diff) | |
download | upstream-631b233e20804e096e40f192a1090bc86b4fd3d5.tar.gz upstream-631b233e20804e096e40f192a1090bc86b4fd3d5.tar.bz2 upstream-631b233e20804e096e40f192a1090bc86b4fd3d5.zip |
mac80211: merge a few pending fixes for channel switch handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27783 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/mac80211/patches/300-pending_work.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index 7e3160a1db..f2e4fdb445 100644 --- a/package/mac80211/patches/300-pending_work.patch +++ b/package/mac80211/patches/300-pending_work.patch @@ -1116,3 +1116,31 @@ {0x000081ec, 0x00000000}, {0x000081f0, 0x00000000}, {0x000081f4, 0x00000000}, +--- a/net/mac80211/work.c ++++ b/net/mac80211/work.c +@@ -1075,14 +1075,13 @@ static void ieee80211_work_work(struct w + 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; + } + + if (!remain_off_channel && local->tmp_channel) { +- bool on_oper_chan = ieee80211_cfg_on_oper_channel(local); + local->tmp_channel = NULL; + /* If tmp_channel wasn't operating channel, then + * we need to go back on-channel. +@@ -1092,7 +1091,7 @@ static void ieee80211_work_work(struct w + * we still need to do a hardware config. Currently, + * we cannot be here while scanning, however. + */ +- if (ieee80211_cfg_on_oper_channel(local) && !on_oper_chan) ++ if (!ieee80211_cfg_on_oper_channel(local)) + ieee80211_hw_config(local, 0); + + /* At the least, we need to disable offchannel_ps, |