• Hans de Goede's avatar
    ACPI: x86: Add ACPI_QUIRK_UART1_SKIP for Lenovo Yoga Book yb1-x90f/l · f91280f3
    Hans de Goede authored
    The Lenovo Yoga Book yb1-x90f/l 2-in-1 which ships with Android as
    Factory OS has (another) bug in its DSDT where the UART resource for
    the BTH0 ACPI device contains "\\_SB.PCIO.URT1" as path to the UART.
    
    Note that is with a letter 'O' instead of the number '0' which is wrong.
    
    This causes Linux to instantiate a standard /dev/ttyS? device for
    the UART instead of a /sys/bus/serial device, which in turn causes
    bluetooth to not work.
    
    Similar DSDT bugs have been encountered before and to work around those
    the acpi_quirk_skip_serdev_enumeration() helper exists.
    
    Previous devices had the broken resource pointing to the first UART, while
    the BT HCI was on the second UART, which ACPI_QUIRK_UART1_TTY_UART2_SKIP
    deals with. Add a new ACPI_QUIRK_UART1_SKIP quirk for skipping enumeration
    of UART1 instead for the Yoga Book case and add this quirk to the
    existing DMI quirk table entry for the yb1-x90f/l .
    
    This leaves the UART1 controller unbound allowing the x86-android-tablets
    module to manually instantiate a serdev for it fixing bluetooth.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    f91280f3
utils.c 17 KB