On Sun, Aug 9, 2020 at 8:56 PM <trix@xxxxxxxxxx> wrote: > > From: Tom Rix <trix@xxxxxxxxxx> > > clang static analysis reports this represenative problem > > st_lsm6dsx_shub.c:540:8: warning: Assigned value is garbage or undefined > *val = (s16)le16_to_cpu(*((__le16 *)data)); > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > data is set with > > err = st_lsm6dsx_shub_read(sensor, ch->address, data, len); > if (err < 0) > return err; > > The problem with st_lsm6dsx_shub_read() is this statement > > err = st_lsm6dsx_shub_read_output(hw, data, > len & ST_LS6DSX_READ_OP_MASK); > > The err value is never checked. > So check err. > > Fixes: c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller support") > > Signed-off-by: Tom Rix <trix@xxxxxxxxxx> You see, the commit message can be divided to three sections 1. Title / very short description 2. Detailed description 3. Tag block Each of them has some specific rules: 1. One quite short line prefixed by subsystem / driver in the specified format (usually gathered by reading git log against the module in question) 2. Should explain why this change is done 3. Should be one tag -- one line, no blank lines in between. Hope, you will use this in the future. After addressing that (perhaps Jonathan will do it for you) Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > --- > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c > index ed83471dc7dd..8c8d8870ca07 100644 > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c > @@ -313,6 +313,8 @@ st_lsm6dsx_shub_read(struct st_lsm6dsx_sensor *sensor, u8 addr, > > err = st_lsm6dsx_shub_read_output(hw, data, > len & ST_LS6DSX_READ_OP_MASK); > + if (err < 0) > + return err; > > st_lsm6dsx_shub_master_enable(sensor, false); > > -- > 2.18.1 > -- With Best Regards, Andy Shevchenko