From e80e0262c23fd680a903c26ac8ae92e0e7dea176 Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Thu, 26 Jan 2006 18:46:33 +0100 Subject: [PATCH] --- yaml --- r: 19159 b: refs/heads/master c: 0961dd0d217d072df736d964f47c2b6600931e19 h: refs/heads/master i: 19157: bd3498de41c5eb7e741caa3466e6cbfb08f44ed5 19155: 9c28e0158166bbafe0af512721de5cce24bb8593 19151: c11b068b9f26eaf2f7335d869eb0044cbe216add v: v3 --- [refs] | 2 +- trunk/drivers/cpufreq/cpufreq.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 641a0152b32f..c184d33e07b1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c70ca00f77eb1bb69c5a2d029b3a911bc88eac1b +refs/heads/master: 0961dd0d217d072df736d964f47c2b6600931e19 diff --git a/trunk/drivers/cpufreq/cpufreq.c b/trunk/drivers/cpufreq/cpufreq.c index 0a6c4c8642e7..7a511479ae29 100644 --- a/trunk/drivers/cpufreq/cpufreq.c +++ b/trunk/drivers/cpufreq/cpufreq.c @@ -1429,6 +1429,14 @@ int cpufreq_update_policy(unsigned int cpu) policy.policy = data->user_policy.policy; policy.governor = data->user_policy.governor; + /* BIOS might change freq behind our back + -> ask driver for current freq and notify governors about a change */ + if (cpufreq_driver->get) { + policy.cur = cpufreq_driver->get(cpu); + if (data->cur != policy.cur) + cpufreq_out_of_sync(cpu, data->cur, policy.cur); + } + ret = __cpufreq_set_policy(data, &policy); mutex_unlock(&data->lock);