atm: eni: Add check for dma_map_single
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Mon, 14 Mar 2022 01:34:48 +0000 (09:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Mar 2022 08:16:41 +0000 (09:16 +0100)
[ Upstream commit 0f74b29a4f53627376cf5a5fb7b0b3fa748a0b2b ]

As the potential failure of the dma_map_single(),
it should be better to check it and return error
if fails.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/atm/eni.c

index 422753d..a31ffe1 100644 (file)
@@ -1112,6 +1112,8 @@ DPRINTK("iovcnt = %d\n",skb_shinfo(skb)->nr_frags);
        skb_data3 = skb->data[3];
        paddr = dma_map_single(&eni_dev->pci_dev->dev,skb->data,skb->len,
                               DMA_TO_DEVICE);
+       if (dma_mapping_error(&eni_dev->pci_dev->dev, paddr))
+               return enq_next;
        ENI_PRV_PADDR(skb) = paddr;
        /* prepare DMA queue entries */
        j = 0;