]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: gyro: mpu3050-i2c: fix pm_runtime error handling
authorAntoniu Miclaus <antoniu.miclaus@analog.com>
Mon, 16 Feb 2026 09:57:55 +0000 (11:57 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 23 Feb 2026 08:24:38 +0000 (08:24 +0000)
The return value of pm_runtime_get_sync() is not checked, and the
function always returns success. This allows I2C mux operations to
proceed even when the device fails to resume.

Use pm_runtime_resume_and_get() and propagate its return value to
properly handle resume failures.

Fixes: 3904b28efb2c ("iio: gyro: Add driver for the MPU-3050 gyroscope")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/gyro/mpu3050-i2c.c

index 092878f2c88693696175bfd7f3ca09136a0da87a..6549b22e643d81dae6c16525948871c229572333 100644 (file)
@@ -19,8 +19,7 @@ static int mpu3050_i2c_bypass_select(struct i2c_mux_core *mux, u32 chan_id)
        struct mpu3050 *mpu3050 = i2c_mux_priv(mux);
 
        /* Just power up the device, that is all that is needed */
-       pm_runtime_get_sync(mpu3050->dev);
-       return 0;
+       return pm_runtime_resume_and_get(mpu3050->dev);
 }
 
 static int mpu3050_i2c_bypass_deselect(struct i2c_mux_core *mux, u32 chan_id)