For local->tmp_channel == NULL and local->scan_channel == NULL ieee80211_cfg_on_oper_channel() will return false if local->oper_channel != local->hw.conf.channel, hece we do not properly go back to oper_channel from tmp_channel. Does patch have sense? Could it fixes problems we are talking in this thread? diff --git a/net/mac80211/work.c b/net/mac80211/work.c index af374fa..98bf1fa 100644 --- a/net/mac80211/work.c +++ b/net/mac80211/work.c @@ -1101,7 +1101,7 @@ static void ieee80211_work_work(struct work_struct *work) * 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 (!on_oper_chan) ieee80211_hw_config(local, 0); /* At the least, we need to disable offchannel_ps, -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html