Re: [PATCH] Fix pattern handling optimalization

From: Jacek Anaszewski
Date: Thu Oct 25 2018 - 15:17:50 EST


Hi Pavel.

Thank you for the patch.

On 10/24/2018 10:44 PM, Pavel Machek wrote:
>
> Check for zero duration before skipping step. This fixes pattern
>
> echo "0 1000 10 2550 0 1000" > pattern
>
> which should do [ .-xXx-.] but does [ Xx-.]
>
> Signed-off-by: Pavel Machek <pavel@xxxxxx>
> Suggested-by: Jacek Anaszewski <jacek.anaszewski@xxxxxxxxx>
>
>
> diff --git a/drivers/leds/trigger/ledtrig-pattern.c b/drivers/leds/trigger/ledtrig-pattern.c
> index ce7acd1..bc5f495 100644
> --- a/drivers/leds/trigger/ledtrig-pattern.c
> +++ b/drivers/leds/trigger/ledtrig-pattern.c
> @@ -87,9 +87,10 @@ static void pattern_trig_timer_function(struct timer_list *t)
> data->curr->brightness);
> mod_timer(&data->timer,
> jiffies + msecs_to_jiffies(data->curr->delta_t));
> -
> - /* Skip the tuple with zero duration */
> - pattern_trig_update_patterns(data);
> + if (!data->next->delta_t) {
> + /* Skip the tuple with zero duration */
> + pattern_trig_update_patterns(data);
> + }
> /* Select next tuple */
> pattern_trig_update_patterns(data);
> } else {
>

Yep, it fixes the issue.

Applied to the fixes-for-4.20-rc2 branch of linux-leds.git

--
Best regards,
Jacek Anaszewski