]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
cpufreq/amd-pstate-ut: Drop policy reference before driver switch
authorK Prateek Nayak <kprateek.nayak@amd.com>
Fri, 8 May 2026 05:17:48 +0000 (05:17 +0000)
committerMario Limonciello (AMD) <superm1@kernel.org>
Fri, 8 May 2026 05:30:50 +0000 (00:30 -0500)
commitf9f16835d4dc46113c0a72625ffbf61f1aa95e5c
tree43432e35957041245c5415799bac5589d08fa2ea
parentcaa822d312be54e3fe1a3b52c887e0888e149c12
cpufreq/amd-pstate-ut: Drop policy reference before driver switch

Recent changes to the EPP unit test tries to perform a driver switch
with a cpufreq_policy reference held when the driver is loaded into
anything but the active mode which leads to a circular dependency and
the unit test hanging indefinitely.

Drop the reference before driver switch and grab it back once the driver
mode is stabilized for the test.

The EPP writes are only possible with CPUFREQ_POLICY_POWERSAVE policy.
Temporarily switch the cpudata->policy (while holding the write end of
the policy->rwsem) to CPUFREQ_POLICY_POWERSAVE and restore the original
policy once tests are done. To ensure the final EPP is correct in case
the driver started with CPUFREQ_POLICY_PERFORMANCE, EPP performance is
tested last.

The __free() based cleanup for cpufreq_policy is lost in the process.

Reported-by: Kalpana Shetty <kalpana.shetty@amd.com>
Fixes: 7e173bc310d2b ("cpufreq/amd-pstate-ut: Add a unit test for raw EPP")
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Link: https://lore.kernel.org/r/20260508051748.10484-7-kprateek.nayak@amd.com
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
drivers/cpufreq/amd-pstate-ut.c