[PATCH] iio: adc: mt6359: fix unchecked return value in mt6358_read_imp
Jonathan Cameron
jic23 at kernel.org
Mon Apr 27 10:15:37 PDT 2026
On Mon, 27 Apr 2026 12:31:34 +0100
Salah Triki <salah.triki at gmail.com> wrote:
> On Mon, Apr 27, 2026 at 12:14:40PM +0300, Andy Shevchenko wrote:
> > On Mon, Apr 27, 2026 at 09:54:57AM +0100, Salah Triki wrote:
> > > In mt6358_read_imp(), the return value of regmap_read() is currently
> > > ignored. This is problematic because if the bus read fails the variable
> > > val_v remains uninitialized.
> > >
> > > The function subsequently assigns this uninitialized stack value to
> > > *vbat, leading to incorrect measurement results being reported to
> > > the IIO subsystem without any error indication.
> > >
> > > Update the function to check the return value of regmap_read(). Ensure
> > > that mt6358_stop_imp_conv() is still called to clean up the hardware
> > > state before returning the error code.
> >
> > Sounds like this deserves a Fixes tag, but the problem is that the whole driver
> > is written like this. Why does having this fixed make it special?
> >
> > --
> > With Best Regards,
> > Andy Shevchenko
> >
> >
>
> You are right, Andy. I noticed that several other functions in this driver
> share the same issue. I will send a V2 that addresses all unchecked
> regmap_read() calls in this file and I will include the Fixes tag. Thanks
> for the feedback.
What's the bus in this case?
Whilst maybe we should be checking them, it is not uncommon to forgo those
checks in internal busses. In general they should be more reliable than
something going over PCB tracks like spi or i2c.
I'd be tempted to fix the uninitialized variable by setting it at declaration
rather than worry too much about checking all the regmap return values.
>
> Best Regards
> Salah Triki
More information about the Linux-mediatek
mailing list