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
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]>