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 |
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 --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 */
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(-)