Message ID | 3f7a77848164a753b8918925f69aa0fd6c985850.1465192322.git.baolin.wang@linaro.org |
---|---|
State | New |
Headers | show |
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index c679f63..edb666d 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -32,6 +32,11 @@ int dwc3_host_init(struct dwc3 *dwc) return -ENOMEM; } +#ifdef CONFIG_ARM64 + if (get_dma_ops(&xhci->dev) == get_dma_ops(NULL)) + xhci->dev.archdata.dma_ops = get_dma_ops(dwc->dev); +#endif + dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask); xhci->dev.parent = dwc->dev;
On ARM64 platform, it will set 'dummy_dma_ops' for device dma_ops if it did not call 'arch_setup_dma_ops' at device creation time, that will cause failure when setting the dma mask for device. Thus this patch set the xhci device dma_ops from the parent device if the xhci device dma_ops is 'dummy_dma_ops'. Changes since v1: - Add CONFIG_ARM64 macro. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> --- drivers/usb/dwc3/host.c | 5 +++++ 1 file changed, 5 insertions(+) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html