Skip to content

Commit 6ea3a44

Browse files
Pengjie Zhangrafaeljw
authored andcommitted
ACPI: CPPC: Fix missing PCC check for guaranteed_perf
The current implementation overlooks the 'guaranteed_perf' register in this check. If the Guaranteed Performance register is located in the PCC subspace, the function currently attempts to read it without acquiring the lock and without sending the CMD_READ doorbell to the firmware. This can result in reading stale data. Fixes: 29523f0 ("ACPI / CPPC: Add support for guaranteed performance") Signed-off-by: Pengjie Zhang <zhangpengjie2@huawei.com> Cc: 4.20+ <stable@vger.kernel.org> # 4.20+ [ rjw: Subject and changelog edits ] Link: https://patch.msgid.link/20251210132227.1988380-1-zhangpengjie2@huawei.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 8f0b4cc commit 6ea3a44

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/acpi/cppc_acpi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1366,7 +1366,8 @@ int cppc_get_perf_caps(int cpunum, struct cppc_perf_caps *perf_caps)
13661366
/* Are any of the regs PCC ?*/
13671367
if (CPC_IN_PCC(highest_reg) || CPC_IN_PCC(lowest_reg) ||
13681368
CPC_IN_PCC(lowest_non_linear_reg) || CPC_IN_PCC(nominal_reg) ||
1369-
CPC_IN_PCC(low_freq_reg) || CPC_IN_PCC(nom_freq_reg)) {
1369+
CPC_IN_PCC(low_freq_reg) || CPC_IN_PCC(nom_freq_reg) ||
1370+
CPC_IN_PCC(guaranteed_reg)) {
13701371
if (pcc_ss_id < 0) {
13711372
pr_debug("Invalid pcc_ss_id\n");
13721373
return -ENODEV;

0 commit comments

Comments
 (0)