Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: host: fsl-mph-dr-of: check return of dma_set_mask()

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>

authored by

Ran Wang and committed by
Greg Kroah-Hartman
3cd54a61 cbdc0f54

+6 -3
+6 -3
drivers/usb/host/fsl-mph-dr-of.c
··· 94 94 95 95 pdev->dev.coherent_dma_mask = ofdev->dev.coherent_dma_mask; 96 96 97 - if (!pdev->dev.dma_mask) 97 + if (!pdev->dev.dma_mask) { 98 98 pdev->dev.dma_mask = &ofdev->dev.coherent_dma_mask; 99 - else 100 - dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); 99 + } else { 100 + retval = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); 101 + if (retval) 102 + goto error; 103 + } 101 104 102 105 retval = platform_device_add_data(pdev, pdata, sizeof(*pdata)); 103 106 if (retval)