usb: dwc2: Disconnecting hub from rpi leads to errors

Doug Anderson dianders at
Sat Jan 23 21:43:07 PST 2016


On Sat, Jan 23, 2016 at 9:08 AM, Stefan Wahren <stefan.wahren at> wrote:
> Hi,
>> Stefan Wahren <stefan.wahren at> hat am 17. Januar 2016 um 04:36
>> geschrieben:
>> Hi,
>> i have a Cherry G83 USB Keyboard connected to external 4 Port USB hub and this
>> is connected to a Raspberry Pi B (Linux 4.4-rc7).
>> If i disconnect the USB hub from the Pi, i will get multiple of this message:
>> [ 103.558379] dwc2 20980000.usb: --Host Channel 1 Interrupt: Transaction
>> Error--
>> [ 103.558639] dwc2 20980000.usb: --Host Channel 6 Interrupt: Transaction
>> Error--
>> [ 103.558709] dwc2 20980000.usb: --Host Channel 7 Interrupt: Transaction
>> Error--
>> [ 103.558771] dwc2 20980000.usb: --Host Channel 3 Interrupt: Transaction
>> Error--
>> [ 103.558871] usb 1-1.2: clear tt 1 (9051) error -71
>> If i reconnect the USB hub everything works as before.
> i applied the following series from Douglas Anderson
> [PATCH v5 0/21] usb: dwc2: host: Fix and speed up all the stuff, especially with
> splits
> [PATCH] usb: dwc2: host: Properly set the HFIR
> but the issue still occurs.

That doesn't terribly surprise me.  Though it doesn't hurt to try,
nothing in my series would have been aimed at fixing something like

I don't see errors like you're reporting on my system, at least not
reliably.  I do sometimes get strange errors when unplugging hubs (at
least certain hubs), but it's not reliable and is also possibly
related to the crazy hardware errata on one of the rk3288 dwc2 ports
where the PHY gets confused by auto-suspend.

My series is mostly aimed at making split transactions (low speed
devices connected to a high speed hub) work better, making interrupt
latency better, and helping the port able to handle more USB devices
in general.  If you have any feedback on whether my series helps for
that stuff for you, it would be very interesting to me.  :)


More information about the linux-rpi-kernel mailing list