From: Srinivas Pandruvada Date: Wed, 7 Oct 2015 20:50:44 +0000 (-0700) Subject: cpufreq: prevent lockup on reading scaling_available_frequencies X-Git-Tag: v4.3-rc5~14^2^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=55582bccdc1e89ecc973c260d46e247df675d4df;p=karo-tx-linux.git cpufreq: prevent lockup on reading scaling_available_frequencies When scaling_available_frequencies is read on an offlined cpu, then either lockup or junk values are displayed. This is caused by freed freq_table, which policy is using. Signed-off-by: Srinivas Pandruvada Acked-by: Viresh Kumar Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index ef5ed9470de9..25c4c15103a0 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -1436,8 +1436,10 @@ static void cpufreq_offline_finish(unsigned int cpu) * since this is a core component, and is essential for the * subsequent light-weight ->init() to succeed. */ - if (cpufreq_driver->exit) + if (cpufreq_driver->exit) { cpufreq_driver->exit(policy); + policy->freq_table = NULL; + } } /**