Re: [PATCH] USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card

From: Sergei Shtylyov
Date: Wed Nov 18 2020 - 04:04:57 EST


Hello!

On 18.11.2020 11:56, penghao wrote:

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.

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.

Changes since v2
- Add Changes commit format

Changes since v1
- Change subject form "ALSA" to "USB:"
- Adjust to approoriate line

Appropriate.


Signed-off-by: penghao <penghao@xxxxxxxxxxxxx>
---
drivers/usb/core/quirks.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 7c1198f80c23..25f655c2cd28 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
[...]
@@ -430,6 +434,7 @@ static const struct usb_device_id usb_quirk_list[] = {
USB_QUIRK_DELAY_CTRL_MSG },
/* Corsair Strafe RGB */
+

Why? :-/

{ USB_DEVICE(0x1b1c, 0x1b20), .driver_info = USB_QUIRK_DELAY_INIT |
USB_QUIRK_DELAY_CTRL_MSG },

MBR, Sergei