On Wed, Aug 17, 2022 at 05:43:16AM +0000, Eliav Farber wrote: > This change makes sure the returned voltage vlaue is 0 or positive. > > Signed-off-by: Eliav Farber <farbere@xxxxxxxxxx> > --- > drivers/hwmon/mr75203.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/hwmon/mr75203.c b/drivers/hwmon/mr75203.c > index 24a00339cfd8..e3191f590167 100644 > --- a/drivers/hwmon/mr75203.c > +++ b/drivers/hwmon/mr75203.c > @@ -218,6 +218,13 @@ static int pvt_read_in(struct device *dev, u32 attr, int channel, long *val) > return ret; > > n &= SAMPLE_DATA_MSK; > + > + /* Voltage can't be negative */ Who says, and what does that mean ? Under which conditions would the value be negative, and why would that be a problem / bug ? After all, negative voltages do exist. Guenter > + if (PVT_N_CONST * n < PVT_R_CONST) { > + *val = 0; > + return 0; > + } > + > /* Convert the N bitstream count into voltage */ > *val = pvt->vd[channel].pre_scaler; > *val *= (PVT_N_CONST * n - PVT_R_CONST);