From 4b368f4353bee5a581c033776b3d5fe2d8031dbc Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 2 Aug 2010 01:28:27 +0000
Subject: 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(-)

(limited to 'package')

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;
 +}
-- 
cgit v1.2.3