diff mbox series

[RESEND,v2,3/3] USB: Disable LPM on WD19's Realtek Hub

Message ID 20200205112633.25995-3-kai.heng.feng@canonical.com (mailing list archive)
State New, archived
Headers show
Series [RESEND,v2,1/3] xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 | expand

Commit Message

Kai-Heng Feng Feb. 5, 2020, 11:26 a.m. UTC
Realtek Hub (0bda:0x0487) used in Dell Dock WD19 sometimes drops off the
bus when bringing underlying ports from U3 to U0.

Disabling LPM on the hub during setting link state is not enough, so
let's disable LPM completely for this hub.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
v2:
 - Use quirk instead of the original approach.

 drivers/usb/core/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Kai-Heng Feng March 11, 2020, 3:32 a.m. UTC | #1
Hi Greg,

> On Feb 5, 2020, at 19:26, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> 
> Realtek Hub (0bda:0x0487) used in Dell Dock WD19 sometimes drops off the
> bus when bringing underlying ports from U3 to U0.
> 
> Disabling LPM on the hub during setting link state is not enough, so
> let's disable LPM completely for this hub.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

As Mathias stated, this patch can be considered as a separate one.
Can you please review and merge this patch?

Kai-Heng

> ---
> v2:
> - Use quirk instead of the original approach.
> 
> drivers/usb/core/quirks.c | 3 +++
> 1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index 6b6413073584..2fb7c1602280 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -371,6 +371,9 @@ static const struct usb_device_id usb_quirk_list[] = {
> 	{ USB_DEVICE(0x0b05, 0x17e0), .driver_info =
> 			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
> 
> +	/* Realtek hub in Dell WD19 (Type-C) */
> +	{ USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM },
> +
> 	/* Action Semiconductor flash disk */
> 	{ USB_DEVICE(0x10d6, 0x2200), .driver_info =
> 			USB_QUIRK_STRING_FETCH_255 },
> -- 
> 2.17.1
>
Alan Stern March 11, 2020, 2:15 p.m. UTC | #2
On Wed, 11 Mar 2020, Kai-Heng Feng wrote:

> Hi Greg,
> 
> > On Feb 5, 2020, at 19:26, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> > 
> > Realtek Hub (0bda:0x0487) used in Dell Dock WD19 sometimes drops off the
> > bus when bringing underlying ports from U3 to U0.
> > 
> > Disabling LPM on the hub during setting link state is not enough, so
> > let's disable LPM completely for this hub.
> > 
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> 
> As Mathias stated, this patch can be considered as a separate one.
> Can you please review and merge this patch?
> 
> Kai-Heng
> 
> > ---
> > v2:
> > - Use quirk instead of the original approach.
> > 
> > drivers/usb/core/quirks.c | 3 +++
> > 1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> > index 6b6413073584..2fb7c1602280 100644
> > --- a/drivers/usb/core/quirks.c
> > +++ b/drivers/usb/core/quirks.c
> > @@ -371,6 +371,9 @@ static const struct usb_device_id usb_quirk_list[] = {
> > 	{ USB_DEVICE(0x0b05, 0x17e0), .driver_info =
> > 			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
> > 
> > +	/* Realtek hub in Dell WD19 (Type-C) */
> > +	{ USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM },
> > +
> > 	/* Action Semiconductor flash disk */
> > 	{ USB_DEVICE(0x10d6, 0x2200), .driver_info =
> > 			USB_QUIRK_STRING_FETCH_255 },
> > -- 
> > 2.17.1

Acked-by: Alan Stern <stern@rowland.harvard.edu>
diff mbox series

Patch

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 6b6413073584..2fb7c1602280 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -371,6 +371,9 @@  static const struct usb_device_id usb_quirk_list[] = {
 	{ USB_DEVICE(0x0b05, 0x17e0), .driver_info =
 			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
 
+	/* Realtek hub in Dell WD19 (Type-C) */
+	{ USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM },
+
 	/* Action Semiconductor flash disk */
 	{ USB_DEVICE(0x10d6, 0x2200), .driver_info =
 			USB_QUIRK_STRING_FETCH_255 },