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

From: Jiri Kosina
Date: Wed May 26 2021 - 06:39:50 EST


On Sun, 16 May 2021, Filipe Laíns wrote:

> > 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>

Applied, thanks.

--
Jiri Kosina
SUSE Labs