From: Guido Günther Date: Sat, 21 Sep 2019 21:12:09 +0000 (-0700) Subject: leds: lm3692x: Don't overwrite return value in error path X-Git-Tag: v5.5-rc1~98^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d0f9cc49e9c8afae49f0efc7927156dbd555ee93;p=thirdparty%2Fkernel%2Flinux.git leds: lm3692x: Don't overwrite return value in error path The driver currently reports successful initialization on every failure as long as it's able to power off the regulator. Don't check the return value of regulator_disable to avoid that. Signed-off-by: Guido Günther Acked-by: Pavel Machek Reviewed-by: Dan Murphy Signed-off-by: Pavel Machek --- diff --git a/drivers/leds/leds-lm3692x.c b/drivers/leds/leds-lm3692x.c index 487228c2bed21..ad76e34455ff2 100644 --- a/drivers/leds/leds-lm3692x.c +++ b/drivers/leds/leds-lm3692x.c @@ -198,7 +198,7 @@ out: static int lm3692x_init(struct lm3692x_led *led) { int enable_state; - int ret; + int ret, reg_ret; if (led->regulator) { ret = regulator_enable(led->regulator); @@ -313,14 +313,15 @@ out: gpiod_direction_output(led->enable_gpio, 0); if (led->regulator) { - ret = regulator_disable(led->regulator); - if (ret) + reg_ret = regulator_disable(led->regulator); + if (reg_ret) dev_err(&led->client->dev, - "Failed to disable regulator\n"); + "Failed to disable regulator: %d\n", reg_ret); } return ret; } + static int lm3692x_probe_dt(struct lm3692x_led *led) { struct fwnode_handle *child = NULL;