[PATCH] Fix pattern handling optimalization

From: Pavel Machek
Date: Wed Oct 24 2018 - 16:44:44 EST



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 {

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature