Subject: Re: [PATCH net] wifi: airo: avoid uninitialized warning in airo_get_rate()

From: Simon Horman <[email-masked]>
Date: Tue, 11 Jul 2023 18:25:12 +0100

On Sun, Jul 09, 2023 at 06:31:54AM -0700, Randy Dunlap wrote:
> Quieten a gcc (11.3.0) build error or warning by checking the function
> call status and returning -EBUSY if the function call failed.
> This is similar to what several other wireless drivers do for the
> SIOCGIWRATE ioctl call when there is a locking problem.
> 
> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]

Hi Randy,

There seem to be other calls to readStatusRid() in the same file
with similar properties. Perhaps it would be best to fix them too?

> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Randy Dunlap <[email-masked]>
> Reported-by: Geert Uytterhoeven <[email-masked]>
> Link: lore.kernel.org/r/[email-masked]
> Cc: Kalle Valo <[email-masked]>
> Cc: [email-masked]
> Cc: "David S. Miller" <[email-masked]>
> Cc: Eric Dumazet <[email-masked]>
> Cc: Jakub Kicinski <[email-masked]>
> Cc: Paolo Abeni <[email-masked]>
> Cc: [email-masked]
> ---
>  drivers/net/wireless/cisco/airo.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
> --- a/drivers/net/wireless/cisco/airo.c
> +++ b/drivers/net/wireless/cisco/airo.c
> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
>  	struct iw_param *vwrq = &wrqu->bitrate;
>  	struct airo_info *local = dev->ml_priv;
>  	StatusRid status_rid;		/* Card status info */
> +	int ret;
>  
> -	readStatusRid(local, &status_rid, 1);
> +	ret = readStatusRid(local, &status_rid, 1);
> +	if (ret)
> +		return -EBUSY;
>  
>  	vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
>  	/* If more than one rate, set auto */
>