Change ATH_TXQ_REMOVE_HEAD macro to sure we reset axq_link whenever we remove
authorbenoit <benoit@0192ed92-7a03-0410-a25b-9323aeb14dbd>
Sun, 20 Apr 2008 21:04:13 +0000 (21:04 +0000)
committerbenoit <benoit@0192ed92-7a03-0410-a25b-9323aeb14dbd>
Sun, 20 Apr 2008 21:04:13 +0000 (21:04 +0000)
the last TX descriptor.

git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3551 0192ed92-7a03-0410-a25b-9323aeb14dbd

ath/if_athvar.h

index b263b4e8887a0d707c9003bf79cb9d3279ef58c5..f8fbfb59587af5f974ec71666436d5580212c8a5 100644 (file)
@@ -582,7 +582,8 @@ struct ath_vap {
 } while (0)
 #define ATH_TXQ_REMOVE_HEAD(_tq, _field) do { \
        STAILQ_REMOVE_HEAD(&(_tq)->axq_q, _field); \
-       (_tq)->axq_depth--; \
+       if (--(_tq)->axq_depth <= 0) \
+               (_tq)->axq_link = NULL; \
 } while (0)
 /* move buffers from MCASTQ to CABQ */
 #define ATH_TXQ_MOVE_MCASTQ(_tqs,_tqd) do { \