usb: host: fsl-mph-dr-of: check return of dma_set_mask()
authorRan Wang <ran.wang_1@nxp.com>
Sat, 10 Oct 2020 06:03:08 +0000 (14:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Nov 2020 09:23:57 +0000 (10:23 +0100)
commit 3cd54a618834430a26a648d880dd83d740f2ae30 upstream.

fsl_usb2_device_register() should stop init if dma_set_mask() return
error.

Fixes: cae058610465 ("drivers/usb/host: fsl: Set DMA_MASK of usb platform device")
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Link: https://lore.kernel.org/r/20201010060308.33693-1-ran.wang_1@nxp.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/fsl-mph-dr-of.c

index f07ccb25bc244f4f98c33a80d12a9c874e3696c1..6f006cbf1f839a9421a9f81cb4c053530020754c 100644 (file)
@@ -98,10 +98,13 @@ static struct platform_device *fsl_usb2_device_register(
 
        pdev->dev.coherent_dma_mask = ofdev->dev.coherent_dma_mask;
 
-       if (!pdev->dev.dma_mask)
+       if (!pdev->dev.dma_mask) {
                pdev->dev.dma_mask = &ofdev->dev.coherent_dma_mask;
-       else
-               dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+       } else {
+               retval = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+               if (retval)
+                       goto error;
+       }
 
        retval = platform_device_add_data(pdev, pdata, sizeof(*pdata));
        if (retval)