Re: [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods

From: Rong Zhang

Date: Sat Oct 17 2026 - 14:12:01 EST


Hi Ali,

On Sat, 2026-10-17 at 16:06 +0300, Ali Ahmet Memiş wrote:
> On ThinkPad P1 Gen2 and P53, INT3403 _TMP switches the EC page selector
> without taking the mutex the battery methods use. On some Lenovo
> IdeaPad and Yoga models, the battery _BIX and the ideapad GBMD take the
> EC mutex and a serialized method in opposite order and deadlock until
> an AML mutex times out.
>
> As discussed in [1], add exclusive variants of the AML evaluation
> helpers and use them for the battery, INT3403 _TMP 
>

int3403_add() seems to be another call site of INT3403 _TMP, but PATCH 3
didn't touch it. Is it intended?

> and ideapad methods.
> Patches 2-4 depend on patch 1.
>
> Changes in v2:
> - Merge the follow-up series [2] and drop its EC query and UCSI patches
> until they are shown to help
> - Add acpi_execute_simple_method_exclusive() for _BTP and ideapad
> - Make the helpers wrappers that take the lock around the existing ones

You dropped Hans' R-b from PATCH 1 due to the massive change. The next
time you do the similar, please add a note to the changelog.

> - Join lines up to 100 columns, add a Link: for Suggested-by:
>
> Link: https://lore.kernel.org/all/CAJZ5v0gS4agVUkCO6M=VW4Wi2y1-s+k23bpzmX9aAZ0Rsv4z9Q@xxxxxxxxxxxxxx/ [1]
> Link: https://lore.kernel.org/all/20261014190544.150093-1-aliamemis@xxxxxxxxxxx/ [2]
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221065
> v1: https://lore.kernel.org/all/20261014132703.93355-1-aliamemis@xxxxxxxxxxx/

The series is now neat to me.

With int3403_add() fixed (or explained), for the series:

Reviewed-by: Rong Zhang <i@xxxxxxxx>

Thanks,
Rong

>
> Ali Ahmet Memiş (4):
> ACPI: utils: Add exclusive AML evaluation helpers
> ACPI: battery: Evaluate battery methods exclusively
> thermal: intel: int340x: Evaluate _TMP exclusively
> platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively
>
> drivers/acpi/battery.c | 12 +++---
> drivers/acpi/utils.c | 41 +++++++++++++++++++
> drivers/platform/x86/lenovo/ideapad-laptop.c | 12 ++++--
> .../int340x_thermal/int340x_thermal_zone.c | 6 ++-
> include/acpi/acpi_bus.h | 7 ++++
> 5 files changed, 66 insertions(+), 12 deletions(-)
>
>
> base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907