2007/6/1, Michael Buesch <mb@xxxxxxxxx>:
On Friday 01 June 2007 23:00:16 Olivier Cornu wrote: > The only call to ieee80211_stop_queue() grep can find is in > bcm43xx_dma.c:1171, i.e. bcm43xx_dma_tx(). And bcm43xx_dma_tx() is > only called from bcm43xx_tx(). > What did i miss? Periodic work. I removed that in my current tree. And I think we also call it when resetting the device. But I'm not sure.
I guess i see why we did not understand each other: these are calls to ieee80211_stop_queues, not directly to ieee80211_stop_queue (even though stop_queues ultimately calls stop_queue). The difference is relevant because, if some kind of locking (for example) was needed in the special contexts stop_queues only might be called from, these locks would be held inside stop_queues, around its stop_queue calls. :) Is there any way to tell mac80211 the device is in a [temporary] "non-functional" state (reset, association loss...) ? - 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