freebsd-nq/sys/dev/ath
Adrian Chadd 1a9bf047c2 [ath] fix EDMA TX buffer flags for use when retransmitting frames.
This started showing up when doing lots of aggregate traffic. For TDMA it's
always no-ACK traffic and I didn't notice this, and I didn't notice it
when doing 11abg traffic as it didn't fail enough in a bad way to trigger
this.

This showed up as the fifo depth being < 0.

Eg:

Jun 19 09:23:07 gertrude kernel: ath0: ath_tx_edma_push_staging_list: queued 2 packets; depth=2, fifo depth=1
Jun 19 09:23:07 gertrude kernel: ath0: ath_edma_tx_processq: Q1, bf=0xfffffe000385f068, start=1, end=1
Jun 19 09:23:07 gertrude kernel: ath0: ath_edma_tx_processq: Q1: FIFO depth is now 0 (1)
Jun 19 09:23:07 gertrude kernel: ath0: ath_edma_tx_processq: Q1, bf=0xfffffe0003866fe8, start=0, end=1
Jun 19 09:23:07 gertrude kernel: ath0: ath_edma_tx_processq: Q1: FIFO depth is now -1 (0)

So, clear the flags before adding them to a TX queue, so if they're
re-added for the retransmit path it'll clear whatever they were and
not double-account the FIFOEND flag.  Oops.

Tested:

* AR9380, STA mode, 11n iperf testing (~130mbit)

Approved by:	re (delphij)
2016-06-20 02:04:40 +00:00
..
ath_dfs/null dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
ath_hal [ath_hal] add placeholders for AUDIO stomp for Kite/Kiwi. 2016-06-04 07:28:36 +00:00
ath_rate Replay r286410. Change KPI of how device drivers that provide wireless 2015-08-27 08:56:39 +00:00
ah_osdep.c [ath] remove the inline version of the register access macros. 2016-01-03 17:58:11 +00:00
ah_osdep.h [ath] remove the inline version of the register access macros. 2016-01-03 17:58:11 +00:00
if_ath_ahb.c Remove the references to the TX IC lock - i ended up solving this 2015-09-29 03:37:17 +00:00
if_ath_alq.c
if_ath_alq.h [ath] add a placeholder event for debuggin EDMA TX FIFO push events. 2016-06-09 22:01:05 +00:00
if_ath_beacon.c net80211: replace internal LE_READ_*/LE_WRITE_* macro with system 2016-04-20 18:29:30 +00:00
if_ath_beacon.h
if_ath_btcoex_mci.c Fix kernel build. Improper definition location of a variable. 2016-06-02 01:59:41 +00:00
if_ath_btcoex_mci.h [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00
if_ath_btcoex.c [ath] remove now unused parameters. 2016-06-04 08:56:30 +00:00
if_ath_btcoex.h [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00
if_ath_debug.c
if_ath_debug.h [ath] add BTCOEX debug section; modify DPRINTF() to take a no-arg format string. 2016-05-31 04:09:17 +00:00
if_ath_descdma.c [ath] migrate ioctl and busdma memory operations out into separate source files. 2015-11-24 03:42:58 +00:00
if_ath_descdma.h [ath] migrate ioctl and busdma memory operations out into separate source files. 2015-11-24 03:42:58 +00:00
if_ath_ioctl.c dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
if_ath_ioctl.h [ath] migrate ioctl and busdma memory operations out into separate source files. 2015-11-24 03:42:58 +00:00
if_ath_keycache.c net80211: drop redundant 3rd parameter from iv_key_set(). 2015-10-03 21:48:27 +00:00
if_ath_keycache.h net80211: drop redundant 3rd parameter from iv_key_set(). 2015-10-03 21:48:27 +00:00
if_ath_led.c
if_ath_led.h
if_ath_lna_div.c dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
if_ath_lna_div.h
if_ath_misc.h net80211: replace internal LE_READ_*/LE_WRITE_* macro with system 2016-04-20 18:29:30 +00:00
if_ath_pci_devlist.h Add a missing file from the last commit. 2014-09-30 05:50:34 +00:00
if_ath_pci.c dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
if_ath_rx_edma.c [ath] don't debug RX EDMA descriptors that are not yet complete. 2016-06-17 17:01:32 +00:00
if_ath_rx_edma.h
if_ath_rx.c dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
if_ath_rx.h Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
if_ath_spectral.c
if_ath_spectral.h
if_ath_sysctl.c [ath] report node queue overflows. 2016-06-09 21:59:36 +00:00
if_ath_sysctl.h
if_ath_tdma.c net80211: include one copy of struct ieee80211_beacon_offsets into ieee80211vap 2015-09-22 06:34:07 +00:00
if_ath_tdma.h
if_ath_tsf.h
if_ath_tx_edma.c [ath] fix EDMA TX buffer flags for use when retransmitting frames. 2016-06-20 02:04:40 +00:00
if_ath_tx_edma.h
if_ath_tx_ht.c [ath] initialise do_ldpc to 0. 2016-04-29 18:53:16 +00:00
if_ath_tx_ht.h
if_ath_tx.c [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00
if_ath_tx.h net80211: separate mbuf cleanup from ieee80211_fragment() 2015-10-12 03:27:08 +00:00
if_ath.c [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00
if_athdfs.h
if_athioctl.h [ath] Add counters for STBC TX and LDPC TX. 2016-04-29 01:51:27 +00:00
if_athrate.h
if_athvar.h [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00