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.w...@linaro.org>
---
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to