On Fri, 2013-03-22 at 14:50 +0100, Karl Beldan wrote: > > > @@ -994,21 +996,25 @@ static void ieee80211_chswitch_work(struct work_struct *work) > > > if (!ifmgd->associated) > > > goto out; > > > > > > - sdata->local->_oper_channel = sdata->local->csa_channel; > > > - if (!sdata->local->ops->channel_switch) { > > > + cfreq_off = local->csa_channel->center_freq - > > > + local->_oper_chandef.chan->center_freq; > > > + > > > + local->_oper_chandef.center_freq1 += cfreq_off; > > > + local->_oper_chandef.center_freq2 += cfreq_off; > > > > Adjusting the center_freq1 is quite clearly wrong. :-) > > > > Besides, it might not even be supported by the driver. > > > Yes, the next serie will downgrade to NL80211_CHAN_WIDTH_20_NOHT. > I know this is not acceptable, I will get back to this very soon. That actually seems like a decent compromise, I'd accept that. It'll likely not cause much more breakage than the current code would ... :) Until we address this properly, of course, which I'll eventually need to do as well. > > There should be ready macros for chandef tracing -- can you use them? > > > > > + LOCAL_PR_FMT " ch:%#x" CHANDEF_PR_FMT, > > > + LOCAL_PR_ARG, __entry->changed, CHANDEF_PR_ARG > > > > Hm so you used some? Why not all? > > > I would have liked to use CHANDEF_ENTRY and CHANDEF_ASSIGN but they > don't check for "chandef.chan != NULL" which would Oops when using > chanctxes (and I hesitated to make it too invasive although I would > gladly add the check if that doesn't bother you. Doesn't bother me at all, go ahead and make that change. johannes -- 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