]> git.itanic.dy.fi Git - linux-stable/commit
power: supply: leds: Fix blink to LED on transition
authorHans de Goede <hdegoede@redhat.com>
Thu, 13 Apr 2023 10:09:41 +0000 (12:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 12:55:32 +0000 (13:55 +0100)
commit0dd4881238bcc75e375a7ca15f25f6e087cf8f94
tree835ea66ba59985af8c06cb66b4b457f8bd2c8050
parent5e4bb063dcaf796a2fc8024680003e9a6bb95184
power: supply: leds: Fix blink to LED on transition

commit e4484643991e0f6b89060092563f0dbab9450cbb upstream.

When a battery's status changes from charging to full then
the charging-blink-full-solid trigger tries to change
the LED from blinking to solid/on.

As is documented in include/linux/leds.h to deactivate blinking /
to make the LED solid a LED_OFF must be send:

"""
         * Deactivate blinking again when the brightness is set to LED_OFF
         * via the brightness_set() callback.
"""

led_set_brighness() calls with a brightness value other then 0 / LED_OFF
merely change the brightness of the LED in its on state while it is
blinking.

So power_supply_update_bat_leds() must first send a LED_OFF event
before the LED_FULL to disable blinking.

Fixes: 6501f728c56f ("power_supply: Add new LED trigger charging-blink-solid-full")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/power/supply/power_supply_leds.c