opnsense-src/sys/dev/ath
Adrian Chadd af2441fbc7 [ath] Attempt to fix epoch handling.
The epoch stuff with taskqueues works fine if the driver never calls
the receive path in other contexts, but this driver does.  If there was
a chip reset during active receive then part of the reset will call
the receive path to flush out any active packets before reinitialising
the receive queue and that needs to be done with the epoch held.

So:

* make the receive task a normal task again
* explicitly call epoch enter/exit around the legacy and newer DMA
  receive paths
* add a couple of epoch asserts to ensure that the receive packet
  path itself is called with epoch held.

This fixes it on my Atom eeepc laptop (circa 2010!) that I did
all of my initial 802.11n work in this driver and net80211.

Tested:

* AR9285, STA mode

TODO:

* Test on EDMA chipset (AR9380)
* Test in AP/adhoc modes, just to be sure (eg for beacon
  receive processing in particular.)
2020-02-20 07:12:43 +00:00
..
ath_dfs/null sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ath_hal [ath_hal] Fix queue bits a bit 2019-05-28 18:05:10 +00:00
ath_rate [ath_rate_sample] Have the final attempted rate in 11n modes to be the lowest one. 2019-05-05 06:32:40 +00:00
ah_osdep.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ah_osdep.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ah_osdep_ar5210.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
ah_osdep_ar5211.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
ah_osdep_ar5212.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
ah_osdep_ar5416.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
ah_osdep_ar9300.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
if_ath.c [ath] Attempt to fix epoch handling. 2020-02-20 07:12:43 +00:00
if_ath_ahb.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_alq.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_alq.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_beacon.c [net80211] convert all of the WME use over to a temporary copy of WME info. 2018-01-02 00:07:28 +00:00
if_ath_beacon.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_btcoex.c ath: fix memory disclosure from ath_btcoex_ioctl 2018-01-02 19:29:30 +00:00
if_ath_btcoex.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
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_debug.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_debug.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +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_dfs.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
if_ath_drv.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
if_ath_ioctl.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +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 sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_keycache.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_led.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_led.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_lna_div.c ath: fix possible memory disclosures in ioctl handlers 2018-01-02 19:34:23 +00:00
if_ath_lna_div.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_misc.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_pci.c Fix PCI_SUBDEV call 2018-07-07 15:55:58 +00:00
if_ath_pci_devlist.h Switch to using new PCI_MATCH stuff. 2018-07-07 15:25:16 +00:00
if_ath_rate.c [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL. 2017-05-25 04:18:46 +00:00
if_ath_rx.c [ath] Attempt to fix epoch handling. 2020-02-20 07:12:43 +00:00
if_ath_rx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_rx_edma.c [ath] Attempt to fix epoch handling. 2020-02-20 07:12:43 +00:00
if_ath_rx_edma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_spectral.c ath: fix possible memory disclosures in ioctl handlers 2018-01-02 19:34:23 +00:00
if_ath_spectral.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_sysctl.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_sysctl.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tdma.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tdma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tsf.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx.c [net80211] convert all of the WME use over to a temporary copy of WME info. 2018-01-02 00:07:28 +00:00
if_ath_tx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_edma.c [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_ath_tx_edma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_ht.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_ht.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_athdfs.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_athioctl.h Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
if_athrate.h [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_athvar.h [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00