Re: [PATCH] ACPI: CPPC: fix bug that causes the value written in cpc register to be wrong.

From: zhenglifeng (A)
Date: Wed Nov 13 2024 - 02:23:33 EST




On 2024/11/13 15:05, Clément Léger wrote:
>
>
> 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) {
>

Thanks for reminder. I'll add this Fixes and resend this patch.