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: Fabio Baltieri <fabio.baltieri@gmail.com> Cc: Shuah Khan <shuahkhan@gmail.com> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
Родитель
19cd67e2d5
Коммит
a0193cbee0
|
@ -224,7 +224,7 @@ void led_trigger_event(struct led_trigger *trig,
|
|||
struct led_classdev *led_cdev;
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче