iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw
authorSu Hui <suhui@nfschina.com>
Mon, 30 Oct 2023 02:02:19 +0000 (10:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jan 2024 12:42:36 +0000 (12:42 +0000)
[ Upstream commit c3df0e29fb7788c4b3ddf37d5ed87dda2b822943 ]

inv_mpu6050_sensor_show() can return -EINVAL or IIO_VAL_INT. Return the
true value rather than only return IIO_VAL_INT.

Fixes: d5098447147c ("iio: imu: mpu6050: add calibration offset support")
Signed-off-by: Su Hui <suhui@nfschina.com>
Link: https://lore.kernel.org/r/20231030020218.65728-1-suhui@nfschina.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

index 29f906c..a9a5fb2 100644 (file)
@@ -749,13 +749,13 @@ inv_mpu6050_read_raw(struct iio_dev *indio_dev,
                        ret = inv_mpu6050_sensor_show(st, st->reg->gyro_offset,
                                                chan->channel2, val);
                        mutex_unlock(&st->lock);
-                       return IIO_VAL_INT;
+                       return ret;
                case IIO_ACCEL:
                        mutex_lock(&st->lock);
                        ret = inv_mpu6050_sensor_show(st, st->reg->accl_offset,
                                                chan->channel2, val);
                        mutex_unlock(&st->lock);
-                       return IIO_VAL_INT;
+                       return ret;
 
                default:
                        return -EINVAL;