mirror of https://github.com/hak5/openwrt-owl.git
mac80211: merge a few pending fixes for channel switch handling
SVN-Revision: 27783owl
parent
20d62f8e5f
commit
d0cea742bb
|
@ -1116,3 +1116,31 @@
|
||||||
{0x000081ec, 0x00000000},
|
{0x000081ec, 0x00000000},
|
||||||
{0x000081f0, 0x00000000},
|
{0x000081f0, 0x00000000},
|
||||||
{0x000081f4, 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,
|
||||||
|
|
Loading…
Reference in New Issue