Re: [PATCH] leds: make sure led->trigger is valid before callingtrigger->activate

From: Andrew Morton
Date: Tue Jun 24 2008 - 17:03:30 EST


On Thu, 19 Jun 2008 15:48:47 +0400
Dmitry Baryshkov <dbaryshkov@xxxxxxxxx> wrote:

> Signed-off-by: Dmitry Baryshkov <dbaryshkov@xxxxxxxxx>
> ---
> drivers/leds/led-triggers.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
> index 0f242b3..f910eaf 100644
> --- a/drivers/leds/led-triggers.c
> +++ b/drivers/leds/led-triggers.c
> @@ -111,16 +111,17 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
> flags);
> if (led_cdev->trigger->deactivate)
> led_cdev->trigger->deactivate(led_cdev);
> + led_cdev->trigger = NULL;
> led_set_brightness(led_cdev, LED_OFF);
> }
> if (trigger) {
> write_lock_irqsave(&trigger->leddev_list_lock, flags);
> list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
> write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
> + led_cdev->trigger = trigger;
> if (trigger->activate)
> trigger->activate(led_cdev);
> }
> - led_cdev->trigger = trigger;
> }
> EXPORT_SYMBOL_GPL(led_trigger_set);
>

The changelog tells us what the patch does, but it doesn't tell us
why it does it.

This matters. For a start, there is no way in which I (at least)
am able to determine whether this change is needed in 2.6.26 nor
in 2.6.25.x.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/