On Thu, 10 Mar 2022 20:54:50 +0800 Zizhuang Deng <sunsetdzz@xxxxxxxxx> wrote: > The third call to `fwnode_property_read_u32` did not record > the return value, resulting in `channel_offstate` possibly > being assigned the wrong value. > > Signed-off-by: Zizhuang Deng <sunsetdzz@xxxxxxxxx> Hi, Definitely rather odd looking and I think your conclusion is correct. +CC Paul for confirmation that this isn't doing something clever.. > --- > drivers/iio/dac/ad5592r-base.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c > index a424b7220b61..4434c1b2a322 100644 > --- a/drivers/iio/dac/ad5592r-base.c > +++ b/drivers/iio/dac/ad5592r-base.c > @@ -522,7 +522,7 @@ static int ad5592r_alloc_channels(struct iio_dev *iio_dev) > if (!ret) > st->channel_modes[reg] = tmp; > > - fwnode_property_read_u32(child, "adi,off-state", &tmp); > + ret = fwnode_property_read_u32(child, "adi,off-state", &tmp); > if (!ret) > st->channel_offstate[reg] = tmp; > }