Bug 120171 - Keyboard plugged into USB Type C Dock Constantly Resets
Summary: Keyboard plugged into USB Type C Dock Constantly Resets
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: x86-64 Linux
: P1 high
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-13 20:06 UTC by Josh Klar
Modified: 2016-07-07 14:47 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.6.2-1-ARCH
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg with +p dynamic debug (507.43 KB, text/x-log)
2016-06-13 20:06 UTC, Josh Klar
Details

Description Josh Klar 2016-06-13 20:06:57 UTC
Created attachment 219801 [details]
dmesg with +p dynamic debug

Using a Dell XPS 13 9350 (which has a Type-C port) and a WD15 dock, the dock's power delivery and video outputs both work OOTB (hotplug included) on Kernel 4.6. The USB ports, however, are unreliable at best. After anywhere from 10 seconds to 3 hours of use (the latter measurement came this morning and was BY FAR an outlier), the USB keyboard gets caught in a reset loop and thus becomes unusable (the system no longer responds to keyboard input). After jamming buttons on the keyboard (seems to be 2-5 keypresses on average), another reset is triggered. The system still does not respond to input.

While this bug is reported against 4.6.2 (from Arch Linux core repository), this behavior can be found on kernel 4.7rc2 from the AUR linux-mainline package as well.

This keyboard works perfectly through the standard USB Type A ports on this machine; it's not a keyboard hardware issue.

This same behavior can be found when testing with an HP Elite Type C Dock; it's not specific to the Dell dock.

I have no access to other computers with Type C ports, let alone other Linux-running XPS 9350s, so I cannot determine if this might be a motherboard problem on my individual laptop.

I found a line on SUSE's bugzilla encouraging a dmesg with +p added to the dynamic debug on a similar Type C issue, so I attached such a log here. I hope it helps, and would be glad to test anything.
Comment 1 Josh Klar 2016-06-13 20:15:18 UTC
Just to clarify, the system itself does not hard-lock - the internal laptop keyboard continues to work during this time. It's only the USB devices that freeze up.

This also has happened with a USB mouse. If one device goes down, it seems to take the entire hub with it.

This is reproducible with TLP either on or off. I also tried explicitly disabling  USB auto-suspend. Either I did it wrong, or disabling it had no effect.
Comment 2 Greg Kroah-Hartman 2016-06-13 23:16:59 UTC
On Mon, Jun 13, 2016 at 08:06:57PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=120171
> 
>             Bug ID: 120171
>            Summary: Keyboard plugged into USB Type C Dock Constantly
>                     Resets
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 4.6.2-1-ARCH

Please send to the linux-usb@vger.kernel.org mailing list.
Comment 3 Josh Klar 2016-06-14 00:36:09 UTC
Cross-posted, thanks!
Comment 4 Josh Klar 2016-06-15 19:18:14 UTC
Greg,

Seems my mail bounced silently after trying to post to that mailing list. Not sure how to progress from this point aside from on the bugtracker (which feels like the right place for this anyway)... This is definitely a critical-ish issue that does not occur in Windows.
Comment 5 Greg Kroah-Hartman 2016-06-16 02:29:48 UTC
On Wed, Jun 15, 2016 at 07:18:14PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> Seems my mail bounced silently after trying to post to that mailing list.

Don't send html email and all will be fine.
Comment 6 Josh Klar 2016-07-07 14:47:07 UTC
Sending plaintext through Gmail still bounced.

Regardless, with bios 1.4.4 and kernel 4.6.3 the issue seems to be resolved, I'm having no noticeable issues with the keyboard plugged into the WD15 dock. I'll give it a few days of battle testing before officially calling this closed as a hw issue.

Note You need to log in before you can comment on or make changes to this bug.