mirror of
https://github.com/opnsense/src.git
synced 2026-02-16 17:19:56 -05:00
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) |
||
|---|---|---|
| .. | ||
| ath_dfs/null | ||
| ath_hal | ||
| ath_rate | ||
| ah_osdep.c | ||
| ah_osdep.h | ||
| if_ath.c | ||
| if_ath_ahb.c | ||
| if_ath_alq.c | ||
| if_ath_alq.h | ||
| if_ath_beacon.c | ||
| if_ath_beacon.h | ||
| if_ath_btcoex.c | ||
| if_ath_btcoex.h | ||
| if_ath_btcoex_mci.c | ||
| if_ath_btcoex_mci.h | ||
| if_ath_debug.c | ||
| if_ath_debug.h | ||
| if_ath_descdma.c | ||
| if_ath_descdma.h | ||
| if_ath_ioctl.c | ||
| if_ath_ioctl.h | ||
| if_ath_keycache.c | ||
| if_ath_keycache.h | ||
| if_ath_led.c | ||
| if_ath_led.h | ||
| if_ath_lna_div.c | ||
| if_ath_lna_div.h | ||
| if_ath_misc.h | ||
| if_ath_pci.c | ||
| if_ath_pci_devlist.h | ||
| if_ath_rx.c | ||
| if_ath_rx.h | ||
| if_ath_rx_edma.c | ||
| if_ath_rx_edma.h | ||
| if_ath_spectral.c | ||
| if_ath_spectral.h | ||
| if_ath_sysctl.c | ||
| if_ath_sysctl.h | ||
| if_ath_tdma.c | ||
| if_ath_tdma.h | ||
| if_ath_tsf.h | ||
| if_ath_tx.c | ||
| if_ath_tx.h | ||
| if_ath_tx_edma.c | ||
| if_ath_tx_edma.h | ||
| if_ath_tx_ht.c | ||
| if_ath_tx_ht.h | ||
| if_athdfs.h | ||
| if_athioctl.h | ||
| if_athrate.h | ||
| if_athvar.h | ||