2006-09-19 03:24:24

by Paul Collins

[permalink] [raw]
Subject: [PATCH] leds: turn LED off when changing triggers

Hi Richard,

I was playing with LED triggers when I noticed that changing from
heartbeat (or ide-disk) to "none" at the right moment would leave the
LED stuck on. This is easy to reproduce by doing "find / >/dev/null"
with the ide-disk trigger enabled and then switching to "none".

Here is a patch that fixes the problem by explicitly turning the LED
off after removing the existing trigger.

Signed-off-by: Paul Collins <[email protected]>

diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 47f0ff1..454fb09 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -125,6 +125,7 @@ void led_trigger_set(struct led_classdev
write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, flags);
if (led_cdev->trigger->deactivate)
led_cdev->trigger->deactivate(led_cdev);
+ led_set_brightness(led_cdev, LED_OFF);
}
if (trigger) {
write_lock_irqsave(&trigger->leddev_list_lock, flags);


--
Paul Collins
Wellington, New Zealand

Dag vijandelijk luchtschip de huismeester is dood


2006-09-19 21:18:30

by Richard Purdie

[permalink] [raw]
Subject: Re: [PATCH] leds: turn LED off when changing triggers

On Tue, 2006-09-19 at 15:21 +1200, Paul Collins wrote:
> I was playing with LED triggers when I noticed that changing from
> heartbeat (or ide-disk) to "none" at the right moment would leave the
> LED stuck on. This is easy to reproduce by doing "find / >/dev/null"
> with the ide-disk trigger enabled and then switching to "none".
>
> Here is a patch that fixes the problem by explicitly turning the LED
> off after removing the existing trigger.

Looks good to me, thanks.

> Signed-off-by: Paul Collins <[email protected]>
Acked-by: Richard Purdie <[email protected]>