HomeFreeBSD

[ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting…

Description

[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

Details

Committed
adrianApr 21 2019, 2:36 AM
Parents
rS346469: dtc(1): Pull in fix for segfault-upon-error condition
Branches
Unknown
Tags
Unknown