Bug 170433 - [ath] TX hang after a stuck beacon message with active traffic
Summary: [ath] TX hang after a stuck beacon message with active traffic
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: wireless (show other bugs)
Version: 9.0-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-wireless (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-07 01:40 UTC by Adrian Chadd
Modified: 2019-01-20 01:28 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Chadd freebsd_committer freebsd_triage 2012-08-07 01:40:03 UTC
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.
Comment 1 Adrian Chadd freebsd_committer freebsd_triage 2012-08-07 01:40:38 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-wireless

Flip
Comment 2 dfilter service freebsd_committer freebsd_triage 2012-08-07 01:43:00 UTC
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"
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2018-05-28 19:41:27 UTC
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.
Comment 4 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2019-01-20 01:28:51 UTC
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.