mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 20:10:23 +09:00
iio: gyro: fxas21002c: balance runtime power in error path
commit2a54c8c9ebupstream. If we fail to read temperature or axis we need to decrement the runtime pm reference count to trigger autosuspend. Add the call to pm_put to do that in case of error. Fixes:a0701b6263("iio: gyro: add core driver for fxas21002c") Suggested-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> Link: https://lore.kernel.org/linux-iio/CBBZA9T1OY9C.2611WSV49DV2G@arch-thunder/ Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0239a37463
commit
619289733d
@@ -399,6 +399,7 @@ static int fxas21002c_temp_get(struct fxas21002c_data *data, int *val)
|
||||
ret = regmap_field_read(data->regmap_fields[F_TEMP], &temp);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "failed to read temp: %d\n", ret);
|
||||
fxas21002c_pm_put(data);
|
||||
goto data_unlock;
|
||||
}
|
||||
|
||||
@@ -432,6 +433,7 @@ static int fxas21002c_axis_get(struct fxas21002c_data *data,
|
||||
&axis_be, sizeof(axis_be));
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "failed to read axis: %d: %d\n", index, ret);
|
||||
fxas21002c_pm_put(data);
|
||||
goto data_unlock;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user