cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 3 Nov 2021 18:43:47 +0000 (19:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:17:08 +0000 (19:17 +0100)
commit96f9abc9183cbbcffb97b23384212fbe54543330
tree4b58b37f0fa6f49bad38fd73de20ecd22ef42f83
parentd8dedce3460e75bc80721fd05cfaf03724be6d08
cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline

[ Upstream commit dbea75fe18f60e364de6d994fc938a24ba249d81 ]

Commit a365ab6b9dfb ("cpufreq: intel_pstate: Implement the
->adjust_perf() callback") caused intel_pstate to use nonzero HWP
desired values in certain usage scenarios, but it did not prevent
them from being leaked into the confugirations in which HWP desired
is expected to be 0.

The failing scenarios are switching the driver from the passive
mode to the active mode and starting a new kernel via kexec() while
intel_pstate is running in the passive mode.

To address this issue, ensure that HWP desired will be cleared on
offline and suspend/shutdown.

Fixes: a365ab6b9dfb ("cpufreq: intel_pstate: Implement the ->adjust_perf() callback")
Reported-by: Julia Lawall <julia.lawall@inria.fr>
Tested-by: Julia Lawall <julia.lawall@inria.fr>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/cpufreq/intel_pstate.c