Re: [PATCH] HID: logitech-hidpp: initialize level variable

From: Filipe Laíns
Date: Sat May 15 2021 - 23:31:36 EST


On Fri, 2021-05-07 at 12:18 -0700, trix@xxxxxxxxxx wrote:
> From: Tom Rix <trix@xxxxxxxxxx>
>
> Static analysis reports this representative problem
>
> hid-logitech-hidpp.c:1356:23: warning: Assigned value is
>   garbage or undefined
>         hidpp->battery.level = level;
>                              ^ ~~~~~
>
> In some cases, 'level' is never set in hidpp20_battery_map_status_voltage()
> Since level is not available on all hw, initialize level to unknown.
>
> Fixes: be281368f297 ("hid-logitech-hidpp: read battery voltage from newer
> devices")
> Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
> ---
>  drivers/hid/hid-logitech-hidpp.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-
> hidpp.c
> index 69670ca7e1e1..61635e629469 100644
> --- a/drivers/hid/hid-logitech-hidpp.c
> +++ b/drivers/hid/hid-logitech-hidpp.c
> @@ -1265,6 +1265,7 @@ static int hidpp20_battery_map_status_voltage(u8
> data[3], int *voltage,
>         int status;
>  
>         long flags = (long) data[2];
> +       *level = POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN;
>  
>         if (flags & 0x80)
>                 switch (flags & 0x07) {

Hi Tom,

Taking a look at how this function is used, it does make sense to initialize the
level, thank you :)

Reviewed-by: Filipe Laíns <lains@xxxxxxxxxx>

Cheers,
Filipe Laíns

Attachment: signature.asc
Description: This is a digitally signed message part