]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: CPPC: Fix _CPC register setting issue
authorLifeng Zheng <zhenglifeng1@huawei.com>
Wed, 13 Nov 2024 10:33:09 +0000 (18:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:52:53 +0000 (13:52 +0100)
[ Upstream commit 2388b266c9fcc7c9169ba85c7f9ebe325b7622d7 ]

Since commit 60949b7b8054 ("ACPI: CPPC: Fix MASK_VAL() usage"), _CPC
registers cannot be changed from 1 to 0.

It turns out that there is an extra OR after MASK_VAL_WRITE(), which
has already ORed prev_val with the register mask.

Remove the extra OR to fix the problem.

Fixes: 60949b7b8054 ("ACPI: CPPC: Fix MASK_VAL() usage")
Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Link: https://patch.msgid.link/20241113103309.761031-1-zhenglifeng1@huawei.com
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/cppc_acpi.c

index 544f53ae9cc0c3240311529acf5d7449f3643097..3a39c0a04163c90f2a8fcb057378fa99f0d93dc4 100644 (file)
@@ -1146,7 +1146,6 @@ static int cpc_write(int cpu, struct cpc_register_resource *reg_res, u64 val)
                        return -EFAULT;
                }
                val = MASK_VAL_WRITE(reg, prev_val, val);
-               val |= prev_val;
        }
 
        switch (size) {