diff options
author | Jules Maselbas <jmaselbas@kalray.eu> | 2020-08-11 17:16:30 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-14 14:05:17 +0200 |
commit | 7fa069b51120b888005dbc81405cd7837c7dcbd0 (patch) | |
tree | 409da19303744de4f6701cc6069ac19999521628 /drivers/usb | |
parent | 58593dd67edeed2eb9462b36a4cb565e2d0f36c0 (diff) | |
download | barebox-7fa069b51120b888005dbc81405cd7837c7dcbd0.tar.gz barebox-7fa069b51120b888005dbc81405cd7837c7dcbd0.tar.xz |
usb: dwc2: host: Handle dma mapping errors
Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/dwc2/host.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/host.c b/drivers/usb/dwc2/host.c index 36ac77d130..3d135cd6a6 100644 --- a/drivers/usb/dwc2/host.c +++ b/drivers/usb/dwc2/host.c @@ -157,6 +157,11 @@ static int transfer_chunk(struct dwc2 *dwc2, u8 hc, dma_addr = dma_map_single(dwc2->dev, buffer, xfer_len, in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); + if (dma_mapping_error(dwc2->dev, dma_addr)) { + dwc2_err(dwc2, "Failed to map buffer@0x%p for dma\n", buffer); + return -EFAULT; + } + dwc2_dbg(dwc2, "chunk: pid=%d xfer_len=%u pkts=%u dma_addr=%pad\n", *pid, xfer_len, num_packets, (void *)dma_addr); |