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.