On 25 March 2013 16:49, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Mon, 2013-03-25 at 16:39 +0100, Jonas Gorski wrote: >> Fix settings not being applied when the device is idle and the firmware >> gets reloaded (because of changing from STA to AP mode). This caused >> the device using the wrong channel (and likely band), e.g. a 5 GHz only >> card still defaulted to channel 6 in the 2.4 GHz band when left >> unconfigured. >> >> This issue was always present, but only made visible with "mwl8k: Do not >> call mwl8k_cmd_set_rf_channel unconditionally" (0f4316b9), since before >> that the channel was (re-)configured at the next _config call even when >> it did not change from the mac80211 perspective. > > I'm changing mac80211 back to unset idle first and then set the channel, > if that helps ... ath9k_htc was also broken by the change. I think it only helps partially - the main issue is that a firmware reload seems to require reapplying any settings, but this wasn't done the if the device was currently in idle. Also setting the channel when the device is in idle has the advantage for mwl8k that it does not start rx'ing packets from the wrong channel - which did confuse mac80211 in case of my 5 GHz "only" card that happily received frames while being left unconfigured in 2.4 GHz, with ->bands[2GHZ] == NULL. Produced several pages worth of WARN_ON()s with stack traces, and the reason why I caught this. Jonas -- 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