Currently when the .activate() method fails and returns a negative error code while writing to the /sys/class/leds/<LED>/trigger file, the write system call does not inform the user abouth this failure. This patch fixes this. Signed-off-by: Marek Behún <marek.behun@xxxxxx> --- drivers/leds/led-triggers.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index 81e758d5a048..804e0d624f47 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -40,7 +40,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, struct device *dev = kobj_to_dev(kobj); struct led_classdev *led_cdev = dev_get_drvdata(dev); struct led_trigger *trig; - int ret = count; + int ret; mutex_lock(&led_cdev->led_access); @@ -58,7 +58,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, list_for_each_entry(trig, &trigger_list, next_trig) { if (sysfs_streq(buf, trig->name) && trigger_relevant(led_cdev, trig)) { down_write(&led_cdev->trigger_lock); - led_trigger_set(led_cdev, trig); + ret = led_trigger_set(led_cdev, trig); up_write(&led_cdev->trigger_lock); up_read(&triggers_list_lock); @@ -71,7 +71,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, unlock: mutex_unlock(&led_cdev->led_access); - return ret; + return ret < 0 ? ret : count; } EXPORT_SYMBOL_GPL(led_trigger_write); -- 2.26.2