[PATCH] staging: rtl8188eu: fix HighestRate check in odm_ARFBRefresh_8188E()

Larry Finger Larry.Finger at lwfinger.net
Thu Sep 26 17:17:30 UTC 2019


On 9/26/19 2:31 AM, Denis Efremov wrote:
> It's incorrect to compare HighestRate with 0x0b twice in the following
> manner "if (HighestRate > 0x0b) ... else if (HighestRate > 0x0b) ...". The
> "else if" branch is constantly false. The second comparision should be
> with 0x03 according to the max_rate_idx in ODM_RAInfo_Init().
> 
> Cc: Larry Finger <Larry.Finger at lwfinger.net>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Cc: Michael Straube <straube.linux at gmail.com>
> Cc: stable at vger.kernel.org
> Signed-off-by: Denis Efremov <efremov at linux.com>
> ---
>   drivers/staging/rtl8188eu/hal/hal8188e_rate_adaptive.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/rtl8188eu/hal/hal8188e_rate_adaptive.c b/drivers/staging/rtl8188eu/hal/hal8188e_rate_adaptive.c
> index 9ddd51685063..5792f491b59a 100644
> --- a/drivers/staging/rtl8188eu/hal/hal8188e_rate_adaptive.c
> +++ b/drivers/staging/rtl8188eu/hal/hal8188e_rate_adaptive.c
> @@ -409,7 +409,7 @@ static int odm_ARFBRefresh_8188E(struct odm_dm_struct *dm_odm, struct odm_ra_inf
>   		pRaInfo->PTModeSS = 3;
>   	else if (pRaInfo->HighestRate > 0x0b)
>   		pRaInfo->PTModeSS = 2;
> -	else if (pRaInfo->HighestRate > 0x0b)
> +	else if (pRaInfo->HighestRate > 0x03)
>   		pRaInfo->PTModeSS = 1;
>   	else
>   		pRaInfo->PTModeSS = 0;
> 

I agree that the original code is wrong; however, I prefer that changes that 
alter the execution should be tested. I see no evidence that such testing has 
been done. It probably does not matter because a highest rate between 3 and 0xb 
means 802.11g is in use, and that may no longer be a real-world situation.

With any future patches, you need to indicate if testing has been done.

Acked-by: Larry Finger <Larry.Finger at lwfinger.net>

Larry



More information about the devel mailing list