Hello, I am faced a situation where the AR9220 AGC is goes crazy in case of a low Rx signal in a noisy environment. It seems like it turned off the internal LNA, so low signal neighbours become completely inaccessable, and RSSI of neighbours with a strong signal drops by around 30 dB. Periodic NF calibration perfectly solves this situation. But the NF calibration itself in some cases could be blocked by the ADCs & I/Q calibrations forever. This series is an attempt to address these NF calibration blocking issues. The first patch disables ADC gain & offset calibrations for unsupported channels. The second patch is a trivial code cleanup. And the last four patches together prevent the NF calibration infinite deferring. They limit the run time of individual calibration, allow correct running of NF calibration in between ADCs & I/Q calibrations and prevent missing of NF periodic calibrations. Run tested with AR9220 based NIC. Sergey Ryazanov (6): ath9k: fix AR9002 ADC and NF calibrations ath9k: remove needless NFCAL_PENDING flag setting ath9k: do not miss longcal on AR9002 ath9k: interleaved NF calibration on AR9002 ath9k: invalidate all calibrations at once ath9k: add calibration timeout for AR9002 drivers/net/wireless/ath/ath9k/ar9002_calib.c | 49 +++++++++++++++---- drivers/net/wireless/ath/ath9k/calib.c | 16 +++--- drivers/net/wireless/ath/ath9k/hw.h | 2 + 3 files changed, 51 insertions(+), 16 deletions(-) -- 2.24.1