leds: Clear LED_INIT_DEFAULT_TRIGGER when clearing current trigger
authorHans de Goede <hdegoede@redhat.com>
Wed, 10 May 2023 16:22:34 +0000 (18:22 +0200)
committerLee Jones <lee@kernel.org>
Thu, 25 May 2023 11:16:33 +0000 (12:16 +0100)
commit82f80ef5f337e6c66392c58a968244b98542acd2
tree80bc018a374bb1dcef4b6c78879ac48fcb3b60a6
parent22720a87d0a9667c003bcffd38d15228b3a40f8c
leds: Clear LED_INIT_DEFAULT_TRIGGER when clearing current trigger

Not all triggers use LED_INIT_DEFAULT_TRIGGER, which means that it
will not get cleared when the default trigger is a trigger which
does not use it such as "default-on".

If the default trigger then later gets replaced by a trigger which
does check LED_INIT_DEFAULT_TRIGGER, such as "timer" then that trigger
will behave as if it is the default trigger which it should not do.

To fix this clear the LED_INIT_DEFAULT_TRIGGER flag when clearing
the current trigger, so that it will not be set for any subsequently
set (non default) triggers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Tested-by: Yauhen Kharuzhy <jekhor@gmail.com>
Link: https://lore.kernel.org/r/20230510162234.291439-5-hdegoede@redhat.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/led-triggers.c