Browse Source

Merge branch 'pm-cpufreq'

* pm-cpufreq:
  cpufreq: conservative: fix requested_freq reduction issue
Rafael J. Wysocki 11 năm trước cách đây
mục cha
commit
faddf2f5d2
1 tập tin đã thay đổi với 6 bổ sung1 xóa
  1. 6 1
      drivers/cpufreq/cpufreq_conservative.c

+ 6 - 1
drivers/cpufreq/cpufreq_conservative.c

@@ -80,13 +80,18 @@ static void cs_check_cpu(int cpu, unsigned int load)
 
 	/* Check for frequency decrease */
 	if (load < cs_tuners->down_threshold) {
+		unsigned int freq_target;
 		/*
 		 * if we cannot reduce the frequency anymore, break out early
 		 */
 		if (policy->cur == policy->min)
 			return;
 
-		dbs_info->requested_freq -= get_freq_target(cs_tuners, policy);
+		freq_target = get_freq_target(cs_tuners, policy);
+		if (dbs_info->requested_freq > freq_target)
+			dbs_info->requested_freq -= freq_target;
+		else
+			dbs_info->requested_freq = policy->min;
 
 		__cpufreq_driver_target(policy, dbs_info->requested_freq,
 				CPUFREQ_RELATION_L);