On 7 November 2013 06:20, Bob Copeland <m...@bobcopeland.com> wrote: > On Wed, Nov 06, 2013 at 09:17:46AM -0800, Adrian Chadd wrote: >> The TL;DR version - you need to keep the the final descriptor around >> for each hardware queue. The legacy madwifi/freebsd way of doing it >> was to keep the last descriptor that was handled. This wasn't enough. >> It needs to be per TX queue. You also must never program TxDP after >> you've programmed it once - you can only program it again after you've >> completely torn down TX DMA for the particular queue. > > This is a goldmine -- thank you for taking the time to write it up! > I believe we can clean up ath5k's transmit loop a lot now...
You're very welcome. I spent quite a lot of time waist deep in this crap. It turns out I had to go to the hardware guys and wade through the verilog to figure out what the hell was actually going on. >> * read-and-clear bugs >> * PHY register read problems, and why ANI may occasionally look whacked > > One thing at a time for me... but do we even want to know? :) If you want to avoid crazy crashes and hangs, yes? :) Also, ask me about "key cache corruption" too. -adrian _______________________________________________ ath5k-devel mailing list ath5k-devel@lists.ath5k.org https://lists.ath5k.org/mailman/listinfo/ath5k-devel