freebsd-skq/sys/dev/ath
adrian 1205340c36 [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI.
One of the fun issues with scanning has been how the existing
ANI values were programmed into the hardware when channels were
changed.  If you're on a really crappy channel and ANI has made
you deaf then when you scan you continue to be deaf on all channels.

This code passes in a flag to startpcureceive which in AR5416 and later
is also used to enable ANI.  This allows it to know if it's a normal
operation or a scan operation.

This fixes my situation at home where a temporary spot of a device
going deaf due to interference starts scanning and .. can't hear
anything until I restart.

Now, this isn't the full fix - ideally:

(a) all the ANI config and per-channel information would be migrated
     to the shared HAL stuff and enabled for all of the NICs;
(b) when a station reassociates and some other error conditions
    (like missed beacons, NF calibration failures, etc) a knob
    to reset ANI parameters would likely help recovery.

But hey, I'm committing bits of code again! woo!

Tested:

* AR9344 (2G), STA operation
2019-04-21 02:36:01 +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] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
ath_rate 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
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
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_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: 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_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
if_ath_descdma.h
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
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_devlist.h Switch to using new PCI_MATCH stuff. 2018-07-07 15:25:16 +00:00
if_ath_pci.c Fix PCI_SUBDEV call 2018-07-07 15:55:58 +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_edma.c [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +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_rx.c [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +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_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_edma.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +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_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.c ath(4): Fix typo in debugging code 2018-07-05 21:38:54 +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 sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_athvar.h [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00