diff mbox series

ALSA: usb-audio: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb audio card

Message ID 20200904014516.12298-1-penghao@uniontech.com (mailing list archive)
State New, archived
Headers show
Series ALSA: usb-audio: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb audio card | expand

Commit Message

penghao Sept. 4, 2020, 1:45 a.m. UTC
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.

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

Comments

Lars Melin Sept. 4, 2020, 2:49 a.m. UTC | #1
On 9/4/2020 08:45, Penghao wrote:

> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -403,6 +403,10 @@ static const struct usb_device_id usb_quirk_list[] = {
>   	{ USB_DEVICE(0x12d1, 0x15c3), .driver_info =
>   			USB_QUIRK_DISCONNECT_SUSPEND },
>   
> +	/* Lenovo A630Z TIO build-in usb sound card */
> +	{ USB_DEVICE9(0x17ef, 0xa012), driver_info =
> +			USB_QUIRK_DISCONNECT_SUSPEND },
> +
>   	/* SKYMEDI USB_DRIVE */
>   	{ USB_DEVICE(0x1516, 0x8628), .driver_info = USB_QUIRK_RESET_RESUME },
>   
> 

This list was sorted in a beautiful ascending order of vid, pid before 
you entered your quirk..

rgds
Lars
Greg KH Sept. 4, 2020, 1:57 p.m. UTC | #2
On Fri, Sep 04, 2020 at 09:45:16AM +0800, 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.
> 
> Signed-off-by: Penghao <penghao@uniontech.com>
> ---
>  drivers/usb/core/quirks.c | 4 ++++
>  1 file changed, 4 insertions(+)

Odd subject line, this is not ALSA: or the usb-audio driver :(

Please fix up and properly order the entry.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 7c1198f80c23..d2a9493cc360 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -403,6 +403,10 @@  static const struct usb_device_id usb_quirk_list[] = {
 	{ USB_DEVICE(0x12d1, 0x15c3), .driver_info =
 			USB_QUIRK_DISCONNECT_SUSPEND },
 
+	/* Lenovo A630Z TIO build-in usb sound card */
+	{ USB_DEVICE9(0x17ef, 0xa012), driver_info =
+			USB_QUIRK_DISCONNECT_SUSPEND },
+
 	/* SKYMEDI USB_DRIVE */
 	{ USB_DEVICE(0x1516, 0x8628), .driver_info = USB_QUIRK_RESET_RESUME },