On Thu, 2023-04-13 at 18:37 -0700, Lars-Peter Clausen wrote: > The tmag5273 gets a runtime PM reference before reading a measurement > and > releases it when done. But if the measurement fails the > tmag5273_read_raw() > function exits before releasing the reference. > > Make sure that this error path also releases the runtime PM > reference. > > Fixes: 866a1389174b ("iio: magnetometer: add ti tmag5273 driver") > Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> > --- Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx> > drivers/iio/magnetometer/tmag5273.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/magnetometer/tmag5273.c > b/drivers/iio/magnetometer/tmag5273.c > index 28bb7efe8df8..e155a75b3cd2 100644 > --- a/drivers/iio/magnetometer/tmag5273.c > +++ b/drivers/iio/magnetometer/tmag5273.c > @@ -296,12 +296,13 @@ static int tmag5273_read_raw(struct iio_dev > *indio_dev, > return ret; > > ret = tmag5273_get_measure(data, &t, &x, &y, &z, > &angle, &magnitude); > - if (ret) > - return ret; > > pm_runtime_mark_last_busy(data->dev); > pm_runtime_put_autosuspend(data->dev); > > + if (ret) > + return ret; > + > switch (chan->address) { > case TEMPERATURE: > *val = t;