K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-04-21T19:33:55.612993Z K 7 svn:log V 1507 Bring over my initial power save queue work. Since this is a little more complicated than I thought, I'll need some subversion history for this. So far: * Do node pause/unpause when the stack enters/leaves powersave for the given station; * Remove the use of ath_node lock outside of the rate control code - now the rest of the ath_node stat is protected by the tx lock; * When a node reassociates, a bunch of frames are in the software queue and hardware queue. We need to tidy that up - so for now, just go through the normal cleanup path. But that may not work in the long run. * .. and whilst doing this, reset some of the state (eg BAR TX state, filtered frames, etc.) * .. this still doesn't entirely close the queue stalls; but they may be BAR TX related rather than this particular work. * Add support for leaking frames out whilst the node is in sleep state. That way I can do interesting things for PS-POLL. * Tie into the PS-POLL hook from net80211; leak out a software queued frame if we have any; else just mark the node as ready to leak a frame and leave it up to the stack. I'm still looking into whether there's any possible races with ps-poll handling - notably, if this happens: * STA sends PS-POLL * Stack generates a null frame response; * .. but in another thread, the stack gets handed a frame; * .. and that thread wins the transmit race and it gets queued out first. Now hopefully the TX path locking in net80211 stops this from occuring. But still.. END