]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
usb: gadget: pch_udc: Check for DMA mapping error
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 23 Mar 2021 15:36:22 +0000 (17:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Mar 2021 15:53:30 +0000 (16:53 +0100)
DMA mapping might fail, we have to check it with dma_mapping_error().
Otherwise DMA-API is not happy:

  DMA-API: pch_udc 0000:02:02.4: device driver failed to check map error[device address=0x00000000027ee678] [size=64 bytes] [mapped as single]

Fixes: abab0c67c061 ("usb: pch_udc: Fixed issue which does not work with g_serial")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210323153626.54908-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/pch_udc.c

index 2e3510dd026c4c8e216629e825fc457c52fb75a0..455fd9cde0e6742a8bd431e1cd2aeb0ebbfc36ce 100644 (file)
@@ -2946,7 +2946,7 @@ static int init_dma_pools(struct pch_udc_dev *dev)
        dev->dma_addr = dma_map_single(&dev->pdev->dev, ep0out_buf,
                                       UDC_EP0OUT_BUFF_SIZE * 4,
                                       DMA_FROM_DEVICE);
-       return 0;
+       return dma_mapping_error(&dev->pdev->dev, dev->dma_addr);
 }
 
 static int pch_udc_start(struct usb_gadget *g,