diff options
Diffstat (limited to 'drivers/cpufreq/cppc_cpufreq.c')
| -rw-r--r-- | drivers/cpufreq/cppc_cpufreq.c | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c index 022e3555407c..fe08ca419b3d 100644 --- a/drivers/cpufreq/cppc_cpufreq.c +++ b/drivers/cpufreq/cppc_cpufreq.c @@ -249,15 +249,19 @@ static void __init cppc_freq_invariance_init(void)  		return;  	kworker_fie = kthread_create_worker(0, "cppc_fie"); -	if (IS_ERR(kworker_fie)) +	if (IS_ERR(kworker_fie)) { +		pr_warn("%s: failed to create kworker_fie: %ld\n", __func__, +			PTR_ERR(kworker_fie)); +		fie_disabled = FIE_DISABLED;  		return; +	}  	ret = sched_setattr_nocheck(kworker_fie->task, &attr);  	if (ret) {  		pr_warn("%s: failed to set SCHED_DEADLINE: %d\n", __func__,  			ret);  		kthread_destroy_worker(kworker_fie); -		return; +		fie_disabled = FIE_DISABLED;  	}  } @@ -267,7 +271,6 @@ static void cppc_freq_invariance_exit(void)  		return;  	kthread_destroy_worker(kworker_fie); -	kworker_fie = NULL;  }  #else @@ -849,13 +852,13 @@ static unsigned int cppc_cpufreq_get_rate(unsigned int cpu)  	ret = cppc_get_perf_ctrs(cpu, &fb_ctrs_t0);  	if (ret) -		return ret; +		return 0;  	udelay(2); /* 2usec delay between sampling */  	ret = cppc_get_perf_ctrs(cpu, &fb_ctrs_t1);  	if (ret) -		return ret; +		return 0;  	delivered_perf = cppc_perf_from_fbctrs(cpu_data, &fb_ctrs_t0,  					       &fb_ctrs_t1);  | 
