cpufreq: cpufreq_stats: prevent last_index = -1
authorHuang, Tao <huangtao@rock-chips.com>
Sat, 21 Mar 2015 07:54:17 +0000 (15:54 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Sat, 21 Mar 2015 07:54:17 +0000 (15:54 +0800)
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
drivers/cpufreq/cpufreq_stats.c

index 04570b2d63d15dfc75184d19a7d9c92e16d97228..0073ef4eb146b53a9513e4e4e84b2803e7759e95 100644 (file)
@@ -368,6 +368,10 @@ static int cpufreq_stats_create_table(struct cpufreq_policy *policy,
        spin_lock(&cpufreq_stats_lock);
        stat->last_time = get_jiffies_64();
        stat->last_index = freq_table_get_index(stat, policy->cur);
+#ifdef CONFIG_ARCH_ROCKCHIP
+       if (stat->last_index == -1)
+               stat->last_index = 0;
+#endif
        spin_unlock(&cpufreq_stats_lock);
        cpufreq_cpu_put(data);
        return 0;
@@ -537,10 +541,6 @@ static int cpufreq_stat_notifier_trans(struct notifier_block *nb,
        old_index = stat->last_index;
        new_index = freq_table_get_index(stat, freq->new);
 
-#ifdef CONFIG_ARCH_ROCKCHIP
-       if (old_index == -1)
-               stat->last_index = new_index;
-#endif
        /* We can't do stat->time_in_state[-1]= .. */
        if (old_index == -1 || new_index == -1)
                return 0;