Re: [PATCH v1 2/9] ACPI: processor: idle: Return failure if entry method is not buffer or integer type

From: lihuisong (C)
Date: Fri Oct 24 2025 - 05:32:13 EST



在 2025/10/23 18:07, Rafael J. Wysocki 写道:
On Thu, Oct 23, 2025 at 11:25 AM lihuisong (C) <lihuisong@xxxxxxxxxx> wrote:

在 2025/10/22 3:34, Rafael J. Wysocki 写道:
On Mon, Sep 29, 2025 at 11:38 AM Huisong Li <lihuisong@xxxxxxxxxx> wrote:
According to ACPI spec, entry method in LPI sub-package must be buffer
or integer. However, acpi_processor_evaluate_lpi() regeards it as success
and treat it as an effective LPI state.
Is that the case? AFAICS, it just gets to the next state in this case
and what's wrong with that?
The flatten_lpi_states() would consider the state with illegal entry
method sub-package as a valid one
if the flag of this state is enabled(ACPI_LPI_STATE_FLAGS_ENABLED is set).
And then cpuidle governor would use it because the caller of
acpi_processor_ffh_lpi_probe() also don't see the return value.
So the problem appears to be that lpi_state increments in every step
of the loop, but it should only increment if the given state is valid.
Yes,
So set the flag of the state with illegal entry method sub-package to zero so that this invalid LPI state will be skiped in flatten_lpi_states(), ok?