aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/cpufreq/intel_pstate.c
diff options
context:
space:
mode:
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>2021-11-03 22:19:25 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-11-04 19:48:47 +0100
commit5521055670a53bd495676d1163b40ecb0a37af9c (patch)
treee412263fb918a5f8671bf50f4be3ef2aecc6bb64 /drivers/cpufreq/intel_pstate.c
parentcpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline (diff)
downloadwireguard-linux-5521055670a53bd495676d1163b40ecb0a37af9c.tar.xz
wireguard-linux-5521055670a53bd495676d1163b40ecb0a37af9c.zip
cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
It is possible that on some platforms HWP interrupts are disabled. In that case accessing MSR 0x773 will result in warning. So check X86_FEATURE_HWP_NOTIFY feature to access MSR 0x773. The other places in code where this MSR is accessed, already checks this feature except during disable path called during cpufreq offline and suspend callbacks. Fixes: 57577c996d73 ("cpufreq: intel_pstate: Process HWP Guaranteed change notification") Reported-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
-rw-r--r--drivers/cpufreq/intel_pstate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 8896a44ec7b0..2bb847650b9d 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -1627,6 +1627,9 @@ static void intel_pstate_disable_hwp_interrupt(struct cpudata *cpudata)
{
unsigned long flags;
+ if (!boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
+ return;
+
/* wrmsrl_on_cpu has to be outside spinlock as this can result in IPC */
wrmsrl_on_cpu(cpudata->cpu, MSR_HWP_INTERRUPT, 0x00);