diff mbox series

ACPI: x86: Extend Lenovo Yoga Tab 3 quirk with skip GPIO event-handlers

Message ID 20250325210450.358506-1-hdegoede@redhat.com (mailing list archive)
State Handled Elsewhere, archived
Headers show
Series ACPI: x86: Extend Lenovo Yoga Tab 3 quirk with skip GPIO event-handlers | expand

Commit Message

Hans de Goede March 25, 2025, 9:04 p.m. UTC
Depending on the secureboot signature on EFI\BOOT\BOOTX86.EFI the
Lenovo Yoga Tab 3 UEFI will switch its OSID ACPI variable between
1 (Windows) and 4 (Android(GMIN)).

In Windows mode a GPIO event handler gets installed for GPO1 pin 5,
causing Linux' x86-android-tables code which deals with the general
brokenness of this device's ACPI tables to fail to probe with:

[   17.853705] x86_android_tablets: error -16 getting GPIO INT33FF:01 5
[   17.859623] x86_android_tablets x86_android_tablets: probe with driver

which renders sound, the touchscreen, charging-management,
battery-monitoring and more non functional.

Add ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS to the existing quirks for this
device to fix this.

Reported-by: Agoston Lorincz <pipacsba@gmail.com>
Closes: https://lore.kernel.org/platform-driver-x86/CAMEzqD+DNXrAvUOHviB2O2bjtcbmo3xH=kunKr4nubuMLbb_0A@mail.gmail.com/
Cc: stable@kernel.org
Fixes: fe820db35275 ("ACPI: x86: Add skip i2c clients quirk for Lenovo Yoga Tab 3 Pro (YT3-X90F)")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/acpi/x86/utils.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Rafael J. Wysocki March 27, 2025, 7:43 p.m. UTC | #1
On Tue, Mar 25, 2025 at 10:05 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Depending on the secureboot signature on EFI\BOOT\BOOTX86.EFI the
> Lenovo Yoga Tab 3 UEFI will switch its OSID ACPI variable between
> 1 (Windows) and 4 (Android(GMIN)).
>
> In Windows mode a GPIO event handler gets installed for GPO1 pin 5,
> causing Linux' x86-android-tables code which deals with the general
> brokenness of this device's ACPI tables to fail to probe with:
>
> [   17.853705] x86_android_tablets: error -16 getting GPIO INT33FF:01 5
> [   17.859623] x86_android_tablets x86_android_tablets: probe with driver
>
> which renders sound, the touchscreen, charging-management,
> battery-monitoring and more non functional.
>
> Add ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS to the existing quirks for this
> device to fix this.
>
> Reported-by: Agoston Lorincz <pipacsba@gmail.com>
> Closes: https://lore.kernel.org/platform-driver-x86/CAMEzqD+DNXrAvUOHviB2O2bjtcbmo3xH=kunKr4nubuMLbb_0A@mail.gmail.com/
> Cc: stable@kernel.org
> Fixes: fe820db35275 ("ACPI: x86: Add skip i2c clients quirk for Lenovo Yoga Tab 3 Pro (YT3-X90F)")
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/acpi/x86/utils.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
> index 068c1612660b..4ee30c2897a2 100644
> --- a/drivers/acpi/x86/utils.c
> +++ b/drivers/acpi/x86/utils.c
> @@ -374,7 +374,8 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
>                         DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"),
>                 },
>                 .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
> -                                       ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY),
> +                                       ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
> +                                       ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
>         },
>         {
>                 /* Medion Lifetab S10346 */
> --

Applied as 6.15-rc material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
index 068c1612660b..4ee30c2897a2 100644
--- a/drivers/acpi/x86/utils.c
+++ b/drivers/acpi/x86/utils.c
@@ -374,7 +374,8 @@  static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
 			DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"),
 		},
 		.driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
-					ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY),
+					ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
+					ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
 	},
 	{
 		/* Medion Lifetab S10346 */