Re: [PATCH v3 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods
From: Rafael J. Wysocki (Intel)
Date: Thu Oct 22 2026 - 14:00:19 EST
On Sun, Oct 18, 2026 at 2:22 PM Ali Ahmet Memiş <aliamemis@xxxxxxxxxxx> 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 and ideapad methods.
> Patches 2-4 depend on patch 1.
>
> Changes in v3:
> - Also evaluate _TMP exclusively where int3403 and processor_thermal
> probe for it
>
> 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
> - Join lines up to 100 columns, add a Link: for Suggested-by:
> - Drop Hans' Reviewed-by from patch 1 due to the rework
>
> 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
> v2: https://lore.kernel.org/all/20261017130652.318778-1-aliamemis@xxxxxxxxxxx/
> v1: https://lore.kernel.org/all/20261014132703.93355-1-aliamemis@xxxxxxxxxxx/
>
> 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 ++++--
> .../intel/int340x_thermal/int3403_thermal.c | 3 +-
> .../int340x_thermal/int340x_thermal_zone.c | 6 ++-
> .../processor_thermal_device.c | 2 +-
> include/acpi/acpi_bus.h | 7 ++++
> 7 files changed, 68 insertions(+), 15 deletions(-)
>
>
> base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
> --
Whole series applied as 7.4-rc material, thanks!