summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-26 15:11:27 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-26 15:11:27 +0000
commit58e6431f589d652014e0231c0ab83a2b8f2f20bb (patch)
tree861b979e6d79bee81e75ad35cb807ad5a1168f4e
parent8bb1dcdbc29d62810b63eab280caa2ec7c09d8c8 (diff)
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
-rw-r--r--package/mac80211/patches/300-pending_work.patch28
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 7e3160a1d..f2e4fdb44 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,