From 57bb1f8bf982dd8d6884f8e78f52131be242e55d Mon Sep 17 00:00:00 2001 From: Junjie Wu Date: Wed, 2 Dec 2015 10:38:50 -0800 Subject: [PATCH] cpufreq: interactive: Fix potential divide-by-zero operation prev_load could be zero if no active time is registered for a CPU within a sampling period. Fix potential divide-by-zero issue when calculating new load percentage. Change-Id: I8ad118f5b6b94a410ec59eb5ce939b9467e921c7 Signed-off-by: Junjie Wu Signed-off-by: Hanumath Prasad --- drivers/cpufreq/cpufreq_interactive.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c index 7df557c13b08..fbd2842beff6 100644 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@ -502,7 +502,10 @@ static void __cpufreq_interactive_timer(unsigned long data, bool is_notif) cputime_speedadj = (u64)sl->prev_load * ppol->policy->cpuinfo.max_freq; do_div(cputime_speedadj, tunables->timer_rate); - new_load_pct = sl->new_task_load * 100 / sl->prev_load; + new_load_pct = 0; + if (sl->prev_load) + new_load_pct = sl->new_task_load * 100 / + sl->prev_load; } else { now = update_load(i); delta_time = (unsigned int)