On 08.10.2017 17:03, Hao Wei Tee wrote:
Hi, I've been having DMA read faults with my VL805 xHCI controller when the Intel IOMMU is turned on: xhci_hcd 0000:03:00.0: xHCI Host Controller xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 2 DMAR: DRHD: handling fault status reg 3 DMAR: [DMA Read] Request device [03:00.0] fault addr de28a000 [fault reason 01] Present bit in root entry is clear <snip many identical DMAR faults> xhci_hcd 0000:03:00.0: can't setup: -110 xhci_hcd 0000:03:00.0: USB bus 2 deregistered xhci_hcd 0000:03:00.0: init 0000:03:00.0 fail, -110 xhci_hcd: probe of 0000:03:00.0 failed with error -110 The controller works fine, as far as I can tell, when the IOMMU is off. I've tracked it down to where CMD_RESET is sent to the controller in xhci_reset, [1] called from xhci_gen_setup in xhci.c. It seems that when the command register is being polled in the xhci_handshake after that, the controller tries to do a DMA read from an address that is apparently invalid (?). Eventually xhci_handshake times out. I've tried setting the XHCI_NO_64BIT_SUPPORT quirks flag as someone suggested in an earlier thread here [2] about a similar/the same(?) device, but that doesn't seem to have worked. Help, please. I have no idea how to debug this further.
Could it maybe be related to a iommu/vt-d: Fix scatterlist offset handling fix: https://lists.linuxfoundation.org/pipermail/iommu/2017-September/024371.html Can you check if that patch is included? The author Robin Murphy (CC) Also had some recent issues with a VIA VL805 controller https://marc.info/?l=linux-usb&m=150730678304383&w=2 -Mathias
Some information about the device in question: 03:00.0 USB controller [0c03]: VIA Technologies, Inc. VL805 USB 3.0 Host Controller [1106:3483] (rev 01) (prog-if 30 [XHCI]) Subsystem: Gigabyte Technology Co., Ltd VL805 USB 3.0 Host Controller [1458:5007] Flags: fast devsel, IRQ 17 Memory at f7100000 (64-bit, non-prefetchable) [size=4K] Capabilities: [80] Power Management version 3 Capabilities: [90] MSI: Enable- Count=1/4 Maskable- 64bit+ Capabilities: [c4] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Kernel modules: xhci_pci Thanks. N.B. I sent a message here a while ago mentioning changes in 4.13 that might be the cause, but that is not the case. My distro just turned on the IOMMU by default when they updated to 4.13. Oops. [1]: https://elixir.free-electrons.com/linux/v4.13.5/source/drivers/usb/host/xhci.c#L184 [2]: https://www.spinics.net/lists/linux-usb/msg146591.html -- 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
-- 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