On Sat, 2011-02-19 at 11:42 +0530, Rajkumar Manoharan wrote: > > I know we currently don't allow powersave when there's more than one > > interface, but we still allow it while there are monitor interfaces and > > a monitor interface could be sending packets, which would violate the > > flush() contract with the driver -- the driver may expect not to get any > > packets during flush. > AFIK we also are not stopping tx queue of monitor iface on offchannel. > Doing so could help flush(). Hrm, indeed. And we can't even stop the queues there. We can pause them for the flush though. In fact, why don't we just stop device queues for flush and bypass this problem. I also think we should flush the status tasklet when drv_flush() has returned so that all status processing is also flushed out before we return to regular processing. > > I'm not sure. Maybe we should disable powersave when there are monitor > > interfaces after all, even though that would rob us of a way to debug > > things. Thoughts? > drivers like ath9k receives all frames from any bss on FIF_PROMISC_IN_BSS, > since there is no specific hw filter for that. So in that case it would be > better to disable power save. Well, I'm not convinced yet -- it will likely also complicate the code quite a bit when we want to implement NoA powersave etc. Of course we're trying to get rid of monitor interfaces there anyway, but still ... 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