ath_rx_tasklet improvements...
* Only hold the RX queue lock while removing and while re-inserting a buffer -
allowing pre-emption to work properly while the tasklet is reaping and
recycling rx buffers.
* All skb and bus handling is managed in the ath_rxbuf_init function now.
* Do not stop processing when ath_rxbuf_init fails, because that means low
free skb but does NOT mean the queue is fully processed. Since we also keep
our skbuff except during a very brief period when we free one and reallocate
one - unless pre-emption or SMP steals it, chances are very good we can keep
processing the queue even under low memory conditions -- and avoid dreaded
rx overruns.
* Add missing locks around code blocks that iterate over rx buffer list in
flush/drain/init/cleanup/etc helper functions.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3519
0192ed92-7a03-0410-a25b-
9323aeb14dbd