From 4b368f4353bee5a581c033776b3d5fe2d8031dbc Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 2 Aug 2010 01:28:27 +0000 Subject: [PATCH 1/1] ath9k: improve stuck beacon recovery by reading nf values from the hw when a calibration is pending (instead of waiting for the next cal interval) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22461 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mac80211/patches/542-ath9k_bstuck_nf_calibrate.patch | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/mac80211/patches/542-ath9k_bstuck_nf_calibrate.patch b/package/mac80211/patches/542-ath9k_bstuck_nf_calibrate.patch index 35db2cba3..4ac4ab210 100644 --- a/package/mac80211/patches/542-ath9k_bstuck_nf_calibrate.patch +++ b/package/mac80211/patches/542-ath9k_bstuck_nf_calibrate.patch @@ -78,7 +78,7 @@ caldata->rawNoiseFloor = h[0].privNF; return true; } -@@ -374,3 +407,26 @@ s16 ath9k_hw_getchan_noise(struct ath_hw +@@ -374,3 +407,28 @@ s16 ath9k_hw_getchan_noise(struct ath_hw return ah->caldata->rawNoiseFloor; } EXPORT_SYMBOL(ath9k_hw_getchan_noise); @@ -100,6 +100,8 @@ + */ + if (!caldata->nfcal_pending) + ath9k_hw_start_nfcal(ah, true); ++ else if (!(REG_READ(ah, AR_PHY_AGC_CONTROL) & AR_PHY_AGC_CONTROL_NF)) ++ ath9k_hw_getnf(ah, ah->curchan); + + caldata->nfcal_interference = true; +} -- 2.20.1