Re: [ 31/78] ath9k: fix max noise floor threshold

From: Rajkumar Manoharan
Date: Sat Apr 14 2012 - 02:26:42 EST


On Sat, Apr 14, 2012 at 06:36:12AM +0100, Ben Hutchings wrote:
> On Wed, 2012-04-11 at 16:10 -0700, Greg KH wrote:
> > 3.3-stable review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
> >
> > commit 2ee0a07028d2cde6e131b73f029dae2b93c50f3a upstream.
> >
> > Currently the maximum noise floor limit is set as too high (-60dB). The
> > assumption of having a higher threshold limit is that it would help
> > de-sensitize the receiver (reduce phy errors) from continuous
> > interference. But when we have a bursty interference where there are
> > collisions and then free air time and if the receiver is desensitized too
> > much, it will miss the normal packets too. Lets make use of chips
> > specific min, nom and max limits always. This patch helps to improve the
> > connection stability in congested networks.
> [...]
>
> It looks like this is also applicable to 3.0 and 3.2, but the debug
> logging statement changed between 3.2 and 3.3 and stopped this from
> applying directly. Attaching an (untested) backport.
>
Thanks a lot Ben. looks fine.

-Rajkumar
>
> --
> Ben Hutchings
> It is easier to change the specification to fit the program than vice versa.

> From 6d19cb7b3325e6c460db0f07f178793f4500783a Mon Sep 17 00:00:00 2001
> From: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
> Date: Thu, 15 Mar 2012 06:08:04 +0530
> Subject: [PATCH] ath9k: fix max noise floor threshold
>
> commit 2ee0a07028d2cde6e131b73f029dae2b93c50f3a upstream.
>
> Currently the maximum noise floor limit is set as too high (-60dB). The
> assumption of having a higher threshold limit is that it would help
> de-sensitize the receiver (reduce phy errors) from continuous
> interference. But when we have a bursty interference where there are
> collisions and then free air time and if the receiver is desensitized too
> much, it will miss the normal packets too. Lets make use of chips
> specific min, nom and max limits always. This patch helps to improve the
> connection stability in congested networks.
>
> Cc: Paul Stewart <pstew@xxxxxxxxxx>
> Tested-by: Gary Morain <gmorain@xxxxxxxxxx>
> Signed-off-by: Madhan Jaganathan <madhanj@xxxxxxxxxxxxxxxx>
> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>
> [bwh: Backported to 3.0/3.2: adjust context]
> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> ---
> drivers/net/wireless/ath/ath9k/calib.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c
> index 8ddef3e..d771de5 100644
> --- a/drivers/net/wireless/ath/ath9k/calib.c
> +++ b/drivers/net/wireless/ath/ath9k/calib.c
> @@ -20,7 +20,6 @@
>
> /* Common calibration code */
>
> -#define ATH9K_NF_TOO_HIGH -60
>
> static int16_t ath9k_hw_get_nf_hist_mid(int16_t *nfCalBuffer)
> {
> @@ -348,10 +347,10 @@ static void ath9k_hw_nf_sanitize(struct ath_hw *ah, s16 *nf)
> "NF calibrated [%s] [chain %d] is %d\n",
> (i >= 3 ? "ext" : "ctl"), i % 3, nf[i]);
>
> - if (nf[i] > ATH9K_NF_TOO_HIGH) {
> + if (nf[i] > limit->max) {
> ath_dbg(common, ATH_DBG_CALIBRATE,
> "NF[%d] (%d) > MAX (%d), correcting to MAX\n",
> - i, nf[i], ATH9K_NF_TOO_HIGH);
> + i, nf[i], limit->max);
> nf[i] = limit->max;
> } else if (nf[i] < limit->min) {
> ath_dbg(common, ATH_DBG_CALIBRATE,
> --
> 1.7.9.5
>



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/