OSDN Git Service

Fix "hr" trigger index
authorViorel Suman <viorel.suman@intel.com>
Tue, 26 May 2015 12:21:33 +0000 (15:21 +0300)
committerSuman, Viorel <viorel.suman@intel.com>
Tue, 26 May 2015 12:33:03 +0000 (13:33 +0100)
The current code uses the same "hr" trigger index thus
sampling frequency is changed for wrong "hr" trigger when
several sensors having own "hr" triggers are enabled.
Increase the "hr" trigger index in order to point to the
proper trigger when hr trigger sampling_frequency is changed.

Change-Id: I65558d765f7468bbcfd7d20c69c34cfbb9a6d4b9
Signed-off-by: Viorel Suman <viorel.suman@intel.com>
enumeration.c

index e196a46..c8fa34a 100644 (file)
@@ -905,7 +905,7 @@ static void setup_trigger_names (void)
 
        for (trigger=0; trigger<MAX_TRIGGERS; trigger++) {
 
-               snprintf(filename, sizeof(filename), TRIGGER_FILE_PATH,trigger);
+               snprintf(filename, sizeof(filename), TRIGGER_FILE_PATH, trigger);
 
                ret = sysfs_read_str(filename, buf, sizeof(buf));
 
@@ -918,9 +918,11 @@ static void setup_trigger_names (void)
 
 
        /* If we don't have any other trigger exposed and quirk hrtimer is set setup the hrtimer name here  - and create it also */
-       for (s=0; s<sensor_count; s++) {
-               if ((sensor[s].quirks & QUIRK_HRTIMER) && !updated[s])
+       for (s=0; s<sensor_count && trigger<MAX_TRIGGERS; s++) {
+               if ((sensor[s].quirks & QUIRK_HRTIMER) && !updated[s]) {
                        create_hrtimer_trigger(s, trigger);
+                       trigger++;
+               }
        }
 
        /*