[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <91C616BC-3B99-4BB5-AEBE-6975CBFB29BA@canonical.com>
Date: Wed, 18 Nov 2020 19:25:07 +0800
From: Kai-Heng Feng <kai.heng.feng@...onical.com>
To: penghao <penghao@...ontech.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, johan@...nel.org,
jonathan@...ox.net, tomasz@...esinski.eu, hdegoede@...hat.com,
dlaz@...omium.org, richard.o.dodd@...il.com,
kerneldev@...smulder.nl, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for
Lenovo A630Z TIO built-in usb-audio card
Hi penghao,
> On Nov 18, 2020, at 19:06, penghao <penghao@...ontech.com> 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 v4
> - Fixed add a blank line
>
> Changes since v3
> - Fixed spelling error on appropriate
>
> Changes since v2
> - Add Changes commit format
>
> Changes since v1
> - Change subject form "ALSA" to "USB:"
> - Adjust to appropriate line
>
> Signed-off-by: penghao <penghao@...ontech.com>
> ---
> drivers/usb/core/quirks.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index 7c1198f80c23..26b852ae0d85 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 },
> +
Would it be possible to enable dynamic debug, reproduce the issue, and attach dmesg here? i.e.
# echo 'file drivers/usb/* +p; file drivers/usb/host/* +p' > /sys/kernel/debug/dynamic_debug/control
# echo mem > /sys/power/state
... and attach dmesg here.
Kai-Heng
> /* BUILDWIN Photo Frame */
> { USB_DEVICE(0x1908, 0x1315), .driver_info =
> USB_QUIRK_HONOR_BNUMINTERFACES },
> --
> 2.11.0
>
>
>
Powered by blists - more mailing lists