2013-06-25 20:57:37

by Gabor Juhos

[permalink] [raw]
Subject: [PATCH] rt2x00: rt2800lib: fix default TX power check for RT55xx

The code writes the default_power2 value into the TX field
of the RFCSR50 register, however the condition in the if
statement uses default_power1. Due to this, wrong TX power
value might be written into the register.

Use the correct value in the condition to fix the issue.

Compile tested only.

Signed-off-by: Gabor Juhos <[email protected]>
Cc: [email protected] # 3.10
---
John,

This is for 3.11. Even though the original code is introduced in
3.10-rc2 phase, but it is already too late to fix it in 3.10.

-Gabor
---
drivers/net/wireless/rt2x00/rt2800lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 25f7dbe..1f80ea5 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -2392,7 +2392,7 @@ static void rt2800_config_channel_rf55xx(struct rt2x00_dev *rt2x00dev,
rt2800_rfcsr_write(rt2x00dev, 49, rfcsr);

rt2800_rfcsr_read(rt2x00dev, 50, &rfcsr);
- if (info->default_power1 > power_bound)
+ if (info->default_power2 > power_bound)
rt2x00_set_field8(&rfcsr, RFCSR50_TX, power_bound);
else
rt2x00_set_field8(&rfcsr, RFCSR50_TX, info->default_power2);
--
1.7.10



2013-06-25 21:08:05

by Gertjan van Wingerde

[permalink] [raw]
Subject: Re: [PATCH] rt2x00: rt2800lib: fix default TX power check for RT55xx



Sent from my iPad

On 25 jun. 2013, at 22:57, Gabor Juhos <[email protected]> wrote:

> The code writes the default_power2 value into the TX field
> of the RFCSR50 register, however the condition in the if
> statement uses default_power1. Due to this, wrong TX power
> value might be written into the register.
>
> Use the correct value in the condition to fix the issue.
>
> Compile tested only.
>
> Signed-off-by: Gabor Juhos <[email protected]>
> Cc: [email protected] # 3.10

Good catch. Thanks for spotting it.

Acked-by: Gertjan van Wingerde <[email protected]>


> ---
> John,
>
> This is for 3.11. Even though the original code is introduced in
> 3.10-rc2 phase, but it is already too late to fix it in 3.10.
>
> -Gabor
> ---
> drivers/net/wireless/rt2x00/rt2800lib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index 25f7dbe..1f80ea5 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -2392,7 +2392,7 @@ static void rt2800_config_channel_rf55xx(struct rt2x00_dev *rt2x00dev,
> rt2800_rfcsr_write(rt2x00dev, 49, rfcsr);
>
> rt2800_rfcsr_read(rt2x00dev, 50, &rfcsr);
> - if (info->default_power1 > power_bound)
> + if (info->default_power2 > power_bound)
> rt2x00_set_field8(&rfcsr, RFCSR50_TX, power_bound);
> else
> rt2x00_set_field8(&rfcsr, RFCSR50_TX, info->default_power2);
> --
> 1.7.10
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html