It will be failed when xhci device set the dma mask, if the xhci device dma_ops is dummy. Thus set the xhci device dma_ops from the parent device. Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> --- drivers/usb/dwc3/host.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index c679f63..7ce55c9 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -32,6 +32,9 @@ int dwc3_host_init(struct dwc3 *dwc) return -ENOMEM; } + if (get_dma_ops(&xhci->dev) == get_dma_ops(NULL)) + xhci->dev.archdata.dma_ops = get_dma_ops(dwc->dev); + dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask); xhci->dev.parent = dwc->dev; -- 1.7.9.5 -- 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