Bob Copeland a05988bbbe ath5k: fix race condition in tx desc processing
As pointed out by Benoit Papillault, there is a potential
race condition between the host and the hardware in reading
the next link in the transmit descriptor list:

cpu0              hw
                  tx for buf completed
                  raise tx_ok interrupt
process buf
buf->ds_link = 0
                  read buf->ds_link

This change checks txdp before processing a descriptor
(if there are any subsequent descriptors) to see if
hardware moved on.  We'll then process this descriptor on
the next tasklet.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-08 15:24:16 -04:00
..
2010-04-06 16:55:09 -04:00
2009-10-07 16:39:29 -04:00
2010-03-23 16:50:17 -04:00
2010-03-23 16:50:17 -04:00
2009-10-07 16:39:41 -04:00
2009-10-07 16:39:28 -04:00
2010-04-06 16:51:04 -04:00