• Fabio Baltieri's avatar
    leds: fix led_brightness_set when soft-blinking · 43786482
    Fabio Baltieri authored
    Move led_stop_software_blink() code into led_brightness_set() to ensure
    software blink timer is stopped and cleared when changing trigger.
    
    Also use led_set_brightness() instead of calling
    led_cdev->brightness_set() directly to keep led_cdev->brightness
    consistent with current LED status.
    
    This ensure proper cleaning when changing triggers, as without this fix
    a LED may be turned off while leaving it's led_cdev->brightness = 1,
    leading to an erratic software-blink behaviour.
    
    The problem was easy to reproduce by changing the trigger from "timer"
    to "oneshot".
    Signed-off-by: default avatarFabio Baltieri <fabio.baltieri@gmail.com>
    Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
    43786482
led-core.c 2.81 KB