• penghao's avatar
    USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card · 9ca57518
    penghao authored
    Add a USB_QUIRK_DISCONNECT_SUSPEND quirk for the Lenovo TIO built-in
    usb-audio. when A630Z going into S3,the system immediately wakeup 7-8
    seconds later by usb-audio disconnect interrupt to avoids the issue.
    eg dmesg:
    ....
    [  626.974091 ] usb 7-1.1: USB disconnect, device number 3
    ....
    ....
    [ 1774.486691] usb 7-1.1: new full-speed USB device number 5 using xhci_hcd
    [ 1774.947742] usb 7-1.1: New USB device found, idVendor=17ef, idProduct=a012, bcdDevice= 0.55
    [ 1774.956588] usb 7-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 1774.964339] usb 7-1.1: Product: Thinkcentre TIO24Gen3 for USB-audio
    [ 1774.970999] usb 7-1.1: Manufacturer: Lenovo
    [ 1774.975447] usb 7-1.1: SerialNumber: 000000000000
    [ 1775.048590] usb 7-1.1: 2:1: cannot get freq at ep 0x1
    .......
    Seeking a better fix, we've tried a lot of things, including:
     - Check that the device's power/wakeup is disabled
     - Check that remote wakeup is off at the USB level
     - All the quirks in drivers/usb/core/quirks.c
       e.g. USB_QUIRK_RESET_RESUME,
            USB_QUIRK_RESET,
            USB_QUIRK_IGNORE_REMOTE_WAKEUP,
            USB_QUIRK_NO_LPM.
    
    but none of that makes any difference.
    
    There are no errors in the logs showing any suspend/resume-related issues.
    When the system wakes up due to the modem, log-wise it appears to be a
    normal resume.
    
    Introduce a quirk to disable the port during suspend when the modem is
    detected.
    Signed-off-by: default avatarpenghao <penghao@uniontech.com>
    Link: https://lore.kernel.org/r/20201118123039.11696-1-penghao@uniontech.com
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    9ca57518
quirks.c 18.7 KB