When doing iperf tests to a FreeBSD AP in 2.4GHz, a stuck beacon event would result in traffic stalls. This can be flushed by one or more "sysctl dev.ath.X.forcebstuck=1" commands. IT didn't show up in 5GHz mode because I never saw a stuck beacon issue. Fix: The problem is in ath_legacy_tx_dma_restart(). It was initialising the wrong link pointer and so the TX queue would end up with incorrect link information.
Responsible Changed From-To: freebsd-bugs->freebsd-wireless Flip
Author: adrian Date: Tue Aug 7 00:42:46 2012 New Revision: 239120 URL: http://svn.freebsd.org/changeset/base/239120 Log: Correct re-initialise the link pointer to be the final descriptor in the last buffer. This fixes traffic stalls that were occuring with stuck beacon events. PR: kern/170433 Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Tue Aug 7 00:34:15 2012 (r239119) +++ head/sys/dev/ath/if_ath_tx.c Tue Aug 7 00:42:46 2012 (r239120) @@ -751,7 +751,7 @@ ath_legacy_tx_dma_restart(struct ath_sof return; ath_hal_puttxbuf(ah, txq->axq_qnum, bf->bf_daddr); - ath_hal_gettxdesclinkptr(ah, bf->bf_lastds, &txq->axq_link); + ath_hal_gettxdesclinkptr(ah, bf_last->bf_lastds, &txq->axq_link); ath_hal_txstart(ah, txq->axq_qnum); } _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
batch change: For bugs that match the following - Status Is In progress AND - Untouched since 2018-01-01. AND - Affects Base System OR Documentation DO: Reset to open status. Note: I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.
There was a commit referencing this bug, but it's still not closed and has been inactive for some time. Closing as fixed. Please re-open it if the issue hasn't been completely resolved.