From: Alexey Khoroshilov <khoroshi...@ispras.ru>
Date: Sat, 15 Apr 2017 01:50:50 +0300

> @@ -1136,6 +1141,10 @@ static netdev_tx_t ns83820_hard_start_xmit(struct 
> sk_buff *skb,
>       if (nr_frags)
>               len -= skb->data_len;
>       buf = pci_map_single(dev->pci_dev, skb->data, len, PCI_DMA_TODEVICE);
> +     if (pci_dma_mapping_error(dev->pci_dev, buf)) {
> +             dev_kfree_skb_any(skb);
> +             return NETDEV_TX_OK;
> +     }
>  
>       first_desc = dev->tx_descs + (free_idx * DESC_SIZE);
>  

You need to also add this check for the skb_map_dma_frag() calls below
this line, and therefore you'll need to add unwind on such a failure.

Reply via email to