Re: [PATCH] usb: dwc3: leave default DMA for PCI devices

From: Hans de Goede
Date: Sun Nov 14 2021 - 15:59:07 EST


Hi,

On 11/13/21 15:29, Fabio Aiuto wrote:
> in case of a PCI dwc3 controller, leave the default DMA
> mask. Calling of a 64 bit DMA mask breaks the driver on
> cherrytrail based tablets like Cyberbook T116.
>
> Fixes: 45d39448b4d0 ("usb: dwc3: support 64 bit DMA in platform driver")
> Reported-by: Hans De Goede <hdegoede@xxxxxxxxxx>
> Tested-by: Fabio Aiuto <fabioaiuto83@xxxxxxxxx>
> Signed-off-by: Fabio Aiuto <fabioaiuto83@xxxxxxxxx>

I can confirm that this fixes things for me to:

Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Regards,

Hans




> ---
> drivers/usb/dwc3/core.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 643239d7d370..f4c09951b517 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -1594,9 +1594,11 @@ static int dwc3_probe(struct platform_device *pdev)
>
> dwc3_get_properties(dwc);
>
> - ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64));
> - if (ret)
> - return ret;
> + if (!dwc->sysdev_is_parent) {
> + ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64));
> + if (ret)
> + return ret;
> + }
>
> dwc->reset = devm_reset_control_array_get_optional_shared(dev);
> if (IS_ERR(dwc->reset))
>