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. We should fix that in the tree as soon as possible, or it will stand in the way of bisection. 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". 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. -- Regards, Pavel Roskin -- 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