Message ID | 20201118085623.31221-1-penghao@uniontech.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card | expand |
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@uniontech.com> > --- > 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
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 @@ -410,6 +410,10 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x1532, 0x0116), .driver_info = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL }, + /* Lenovo ThinkCenter A630Z TI024Gen3 usb-audio */ + { USB_DEVICE(0x17ef, 0xa012), .driver_info = + USB_QUIRK_DISCONNECT_SUSPEND }, + /* BUILDWIN Photo Frame */ { USB_DEVICE(0x1908, 0x1315), .driver_info = USB_QUIRK_HONOR_BNUMINTERFACES }, @@ -430,6 +434,7 @@ static const struct usb_device_id usb_quirk_list[] = { USB_QUIRK_DELAY_CTRL_MSG }, /* Corsair Strafe RGB */ + { USB_DEVICE(0x1b1c, 0x1b20), .driver_info = USB_QUIRK_DELAY_INIT | USB_QUIRK_DELAY_CTRL_MSG },
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 Signed-off-by: penghao <penghao@uniontech.com> --- drivers/usb/core/quirks.c | 5 +++++ 1 file changed, 5 insertions(+)