K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T08:32:51.928691Z K 7 svn:log V 873 Fix a TX hang that crept in when I flipped in ATH_BUF_BUSY / TX buf cloning. This was due to an ATH_BUF_BUSY buffer ending up at the head of the txbuf list, causing ath_getbuf() to halt TX until the TX queue had caught up. Since the TX queue wasn't -really- full, TX would stay paused. The basic problem: because I just checked the busy flag, the: * buffer would be cloned; the ATH_BUF_BUSY tagged buffer would be freed and tossed onto the end of the list; * if the new cloned buffer (not busy) was already at max retries, the new non-busy buffer would be freed, and added to the end of the list; and thus the busy buffer isn't at the end of the list; * .. and bewm. The flag would never be cleared. Also, whilst I'm at it, add a comment about an error condition if the buffer can't be cloned - i may end up confusing the DMA code a bit. I'll sort that out later. END