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)

SVN-Revision: 22461
This commit is contained in:
Felix Fietkau 2010-08-02 01:28:27 +00:00
parent 9d2aa5f66f
commit 393db419ec
1 changed files with 3 additions and 1 deletions

View File

@ -78,7 +78,7 @@
caldata->rawNoiseFloor = h[0].privNF; caldata->rawNoiseFloor = h[0].privNF;
return true; 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; return ah->caldata->rawNoiseFloor;
} }
EXPORT_SYMBOL(ath9k_hw_getchan_noise); EXPORT_SYMBOL(ath9k_hw_getchan_noise);
@ -100,6 +100,8 @@
+ */ + */
+ if (!caldata->nfcal_pending) + if (!caldata->nfcal_pending)
+ ath9k_hw_start_nfcal(ah, true); + 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; + caldata->nfcal_interference = true;
+} +}