Commit a0193cbe authored by Fabio Baltieri's avatar Fabio Baltieri Committed by Bryan Wu

leds: use led_set_brightness in led_trigger_event

Fix led_trigger_event() to use led_set_brightness() instead of
__led_set_brightness(), so that any pending blink timer is stopped before
setting the new brightness value.  Without this fix LED status may be
overridden by a pending timer.

This allows a trigger to use a mix of led_trigger_event(),
led_trigger_blink() and led_trigger_blink_oneshot() without races.

(applied over: leds: Rename led_brightness_set() to led_set_brightness())
Signed-off-by: default avatarFabio Baltieri <fabio.baltieri@gmail.com>
Cc: Shuah Khan <shuahkhan@gmail.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
parent 19cd67e2
...@@ -224,7 +224,7 @@ void led_trigger_event(struct led_trigger *trig, ...@@ -224,7 +224,7 @@ void led_trigger_event(struct led_trigger *trig,
struct led_classdev *led_cdev; struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list); led_cdev = list_entry(entry, struct led_classdev, trig_list);
__led_set_brightness(led_cdev, brightness); led_set_brightness(led_cdev, brightness);
} }
read_unlock(&trig->leddev_list_lock); read_unlock(&trig->leddev_list_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment