Message ID | 20200716171730.13227-3-marek.behun@nic.cz |
---|---|
State | RFC |
Headers | show |
Series | Add support for LEDs on Marvell PHYs | expand |
Hi! > 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@nic.cz> > --- > 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; > Please check the code. AFAICT you need ret = 0 here. Best regards, Pavel
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);
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@nic.cz> --- drivers/leds/led-triggers.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)