Don't return early unconditionally. Signed-off-by: Guido Günther <agx@xxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- I've not added a 'Fixes:' line since this is not part of Linus tree yet. Tested proximity and ambient light on a vcnl4040 and checked the driver suspends/resumes correctly and puts out valid data right after resume. drivers/iio/light/vcnl4000.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 3b71c7d538af..38fcd9a26046 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -149,7 +149,7 @@ static int vcnl4200_set_power_state(struct vcnl4000_data *data, bool on) if (ret < 0) return ret; - return i2c_smbus_write_word_data(data->client, VCNL4200_PS_CONF1, val); + ret = i2c_smbus_write_word_data(data->client, VCNL4200_PS_CONF1, val); if (ret < 0) return ret; -- 2.23.0