On 09/12/2016 03:56 AM, Mathias Nyman wrote: > 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) At least for this part is due to you don't have access to the extended PCI config space. The older kernels have a config option I believe and the newer kernels this should be by default enabled. I doubt they are related to your USB issues though. > > 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 dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html