On 10.09.2016 17:19, Greg KH wrote:
On Sat, Sep 10, 2016 at 04:33:05PM +0300, c400 wrote:
my DMESG file
[ 13.331618] usb 3-1: device descriptor read/64, error -110
[ 28.535180] usb 3-1: device descriptor read/64, error -110
[ 28.737931] usb 3-1: new high-speed USB device number 3 using xhci_hcd
[ 33.840034] usb 3-1: device descriptor read/64, error -110
[ 49.043616] usb 3-1: device descriptor read/64, error -110
[ 49.246347] usb 3-1: new high-speed USB device number 4 using xhci_hcd
[ 65.941816] xhci_hcd 0000:02:00.0: Stopped the command ring failed, maybe the host is dead
[ 65.965209] xhci_hcd 0000:02:00.0: Host not halted after 16000 microseconds.
[ 65.965211] xhci_hcd 0000:02:00.0: Abort command ring failed
[ 65.965213] xhci_hcd 0000:02:00.0: HC died; cleaning up
[ 65.965264] xhci_hcd 0000:02:00.0: Timeout while waiting for setup device command
This is the bad part.
Mathias, any ideas? I feel like we fixed something like this in the
past for 64bit systems...
There was at least xhci controllers on R-car SoCs that didn't support 64bit DMA even if they claimed to.
This could be 64bit DMA related as well. Before the usb device descriptor read errors there is this in the lod:
[ 10.124261] ioatdma: Intel(R) QuickData Technology Driver 4.00
[ 10.124425] ioatdma 0000:00:04.0: channel error register unreachable
[ 10.124427] ioatdma 0000:00:04.0: channel enumeration error
[ 10.124430] ioatdma 0000:00:04.0: Intel(R) I/OAT DMA Engine init failed
[ 10.124582] ioatdma 0000:00:04.1: channel error register unreachable
[ 10.124583] ioatdma 0000:00:04.1: channel enumeration error
[ 10.124586] ioatdma 0000:00:04.1: Intel(R) I/OAT DMA Engine init failed
(for all channels up to 0000:00:04.7)
Could you (c400?) try forcing xhci to use 32bit DMA? it can be done by setting XHCI_NO_64BIT_SUPPORT flag.
add 0x800000 to quirks module paramterer when re-loading xhci.
In your case, load xhci with:
sudo modprobe xhci_hcd quirks=0x00800090
sudo modprobe xhci_pci
Just to see if we can narrow it down to a 64 bit DMA related issue.
I Added ioatdma people to cc in case those errors are relevant.
Also adding extra xhci debugging could help pinpoint this:
echo -n 'module xhci_hcd =p' > /sys/kernel/debug/dynamic_debug/control
-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html