Skip to content

Commit c489096

Browse files
Thomas-fourierkuba-moo
authored andcommitted
atm: idt77252: Add missing dma_map_error()
The DMA map functions can fail and should be tested for errors. Signed-off-by: Thomas Fourier <[email protected]> Reviewed-by: Simon Horman <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 010c40c commit c489096

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/atm/idt77252.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,8 @@ queue_skb(struct idt77252_dev *card, struct vc_map *vc,
852852

853853
IDT77252_PRV_PADDR(skb) = dma_map_single(&card->pcidev->dev, skb->data,
854854
skb->len, DMA_TO_DEVICE);
855+
if (dma_mapping_error(&card->pcidev->dev, IDT77252_PRV_PADDR(skb)))
856+
return -ENOMEM;
855857

856858
error = -EINVAL;
857859

@@ -1857,6 +1859,8 @@ add_rx_skb(struct idt77252_dev *card, int queue,
18571859
paddr = dma_map_single(&card->pcidev->dev, skb->data,
18581860
skb_end_pointer(skb) - skb->data,
18591861
DMA_FROM_DEVICE);
1862+
if (dma_mapping_error(&card->pcidev->dev, paddr))
1863+
goto outpoolrm;
18601864
IDT77252_PRV_PADDR(skb) = paddr;
18611865

18621866
if (push_rx_skb(card, skb, queue)) {
@@ -1871,6 +1875,7 @@ add_rx_skb(struct idt77252_dev *card, int queue,
18711875
dma_unmap_single(&card->pcidev->dev, IDT77252_PRV_PADDR(skb),
18721876
skb_end_pointer(skb) - skb->data, DMA_FROM_DEVICE);
18731877

1878+
outpoolrm:
18741879
handle = IDT77252_PRV_POOL(skb);
18751880
card->sbpool[POOL_QUEUE(handle)].skb[POOL_INDEX(handle)] = NULL;
18761881

0 commit comments

Comments
 (0)