Am Samstag, 25. Juli 2009 schrieb Pavel Roskin: > On Sat, 2009-07-25 at 15:06 +0200, Helmut Schaa wrote: > > > Hmm, I'd prefer to keep the decision state as entry and exit point to > > the scan state machine. The patch below should also fix this issue > > by returning back to the decision state after every skipped channel. > > The patch is working and I'm fine with it. Great, thanks a lot. > We should fix that in the > tree as soon as possible, or it will stand in the way of bisection. Yes, you're right. > I forgot to mention that the oops was happening in x86_64 with rt61pci > and US regulatory domain. The device only works in the 2.4 GHz range. > > > In the long run I would like to move the channel selection also to > > the decision state in order to implement various improvements (like > > scanning multiple channels in a row or reordering the channel list). > > I don't know the code enough, but two things surprised me: > > Lack of SCAN_DONE in mac80211_scan_state. We exit scanning through the > "entry point". I also thought of a separate state SCAN_DONE or something similar but dropped that idea as the only thing this state would have to do is the call to ieee80211_scan_completed. So, once the scan is finished we just stay in SCAN_DECISION as long as the scan state machine gets poked again by a start_scan call. > Use of "unsigned long" for bitwise fields, such as queue_stop_reasons > and scanning. This reminds me of the good old days where long was > always 32 bit, but int wasn't. I think "unsigned int" should be enough, > and you can annotate it with __bitwise to make sparse catch some > misuses. No objections :) Helmut -- 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