Am Samstag, 16. Mai 2009 schrieb Johannes Berg: > Anyway, bottom line is that I don't think we should change the APIs in > any way, we should instead make the scan smarter by spreading it out if > we're active. That's what I've tried with the patch at [1]. I used a fixed time schedule for switching back to the operating channel after each scanned channel. However, that could of course be done somewhat dynamic based on the current traffic characteristics. The basic problem I had was that I couldn't check if the nullfunc frame indicating the new "powersave" state to the AP was already sent out (or ACKed by the AP). This resulted in lost frames sometimes: if the device's tx queue contained a lot of data frames the nullfunc frame was sent out _after_ the channel switch occured. If anybody has a good idea on how to fix this issue I'm glad to provide an updated version of the bg-scan patch. One solution would be to force all drivers to report the tx status. Another one would be to just wait until the device's queue is empty. At that point we know that all pending data frames were sent out and additionally the nullfunc frame was also sent out, so we can safely switch to the next to-be-scanned channel. Comments? Helmut [1] http://marc.info/?l=linux-wireless&m=122226702331135&w=2 -- 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