Re: [PATCH] ACPI: CPPC: fix bug that causes the value written in cpc register to be wrong.
From: Clément Léger
Date: Wed Nov 13 2024 - 02:05:29 EST
On 13/11/2024 03:49, Lifeng Zheng wrote:
> With these codes, the value written in cpc register will be the result of
> the OR operatiion on input value and prev_val. This will causes the value
> to be wrong.
>
> Signed-off-by: Lifeng Zheng <zhenglifeng1@xxxxxxxxxx>
> ---
> drivers/acpi/cppc_acpi.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index 01192fd047a6..f69ef7cc0caf 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -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;
Hi Lifeng,
Indeed, MASK_VAL_WRITE() already takes care of ORing prev_val with the
register mask. You can also add a Fixes:
Fixes: 60949b7b8054 ("ACPI: CPPC: Fix MASK_VAL() usage")
Thanks,
Clément
> }
>
> switch (size) {