Skip to content

Commit 44c606b

Browse files
OsterlaDpavelmachek
authored andcommitted
leds: pwm: check result of led_pwm_set() in led_pwm_add()
led_pwm_set() now returns an error when setting the PWM fails. Signed-off-by: Denis Osterland-Heim <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
1 parent ba50e01 commit 44c606b

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

drivers/leds/leds-pwm.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,21 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
9191
pwm_init_state(led_data->pwm, &led_data->pwmstate);
9292

9393
ret = devm_led_classdev_register(dev, &led_data->cdev);
94-
if (ret == 0) {
95-
priv->num_leds++;
96-
led_pwm_set(&led_data->cdev, led_data->cdev.brightness);
97-
} else {
94+
if (ret) {
9895
dev_err(dev, "failed to register PWM led for %s: %d\n",
9996
led->name, ret);
97+
return ret;
10098
}
10199

102-
return ret;
100+
ret = led_pwm_set(&led_data->cdev, led_data->cdev.brightness);
101+
if (ret) {
102+
dev_err(dev, "failed to set led PWM value for %s: %d",
103+
led->name, ret);
104+
return ret;
105+
}
106+
107+
priv->num_leds++;
108+
return 0;
103109
}
104110

105111
static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)

0 commit comments

Comments
 (0)