| From 3cd54a618834430a26a648d880dd83d740f2ae30 Mon Sep 17 00:00:00 2001 |
| From: Ran Wang <ran.wang_1@nxp.com> |
| Date: Sat, 10 Oct 2020 14:03:08 +0800 |
| Subject: usb: host: fsl-mph-dr-of: check return of dma_set_mask() |
| |
| From: Ran Wang <ran.wang_1@nxp.com> |
| |
| 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 | 9 ++++++--- |
| 1 file changed, 6 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/usb/host/fsl-mph-dr-of.c |
| +++ b/drivers/usb/host/fsl-mph-dr-of.c |
| @@ -94,10 +94,13 @@ static struct platform_device *fsl_usb2_ |
| |
| 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) |