aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2018-10-24 16:44:39 -0400
committerJacek Anaszewski <jacek.anaszewski@gmail.com>2018-10-25 14:47:46 -0400
commit1b50bb4d36e89fd54c14722c4ab5266ef17767ff (patch)
tree879053b37524d99afcb883a0c89e0182310a8974
parent8dbac65f5c181e4723586ab738b703bb23bc3f2a (diff)
Fix pattern handling optimalization
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@ucw.cz> Suggested-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
-rw-r--r--drivers/leds/trigger/ledtrig-pattern.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/leds/trigger/ledtrig-pattern.c b/drivers/leds/trigger/ledtrig-pattern.c
index ce7acd115dd8..174a298f1be0 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)
87 data->curr->brightness); 87 data->curr->brightness);
88 mod_timer(&data->timer, 88 mod_timer(&data->timer,
89 jiffies + msecs_to_jiffies(data->curr->delta_t)); 89 jiffies + msecs_to_jiffies(data->curr->delta_t));
90 90 if (!data->next->delta_t) {
91 /* Skip the tuple with zero duration */ 91 /* Skip the tuple with zero duration */
92 pattern_trig_update_patterns(data); 92 pattern_trig_update_patterns(data);
93 }
93 /* Select next tuple */ 94 /* Select next tuple */
94 pattern_trig_update_patterns(data); 95 pattern_trig_update_patterns(data);
95 } else { 96 } else {