]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 13 Nov 2024 11:45:23 +0000 (12:45 +0100)
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>
drivers/acpi/cppc_acpi.c

index 5c0cc7aae8726b24f4331378c045c323defbb6e1..e78e3754d99e1d0ccef06f733c202e9f93ac7556 100644 (file)
@@ -1140,7 +1140,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) {