Re: [PATCH net 2/4] net: ll_temac: Add more error handling of dma_map_single() calls

From: Esben Haabendal
Date: Thu Feb 20 2020 - 03:33:03 EST


David Miller <davem@xxxxxxxxxxxxx> writes:

> From: Esben Haabendal <esben@xxxxxxxxxx>
> Date: Wed, 19 Feb 2020 11:54:00 +0100
>
>> @@ -863,12 +865,13 @@ temac_start_xmit(struct sk_buff *skb, struct net_device *ndev)
>> skb_dma_addr = dma_map_single(ndev->dev.parent, skb->data,
>> skb_headlen(skb), DMA_TO_DEVICE);
>> cur_p->len = cpu_to_be32(skb_headlen(skb));
>> + if (WARN_ON_ONCE(dma_mapping_error(ndev->dev.parent, skb_dma_addr)))
>> + return NETDEV_TX_BUSY;
>
> The appropriate behavior in this situation is to drop the packet and return
> NETDEV_TX_OK.

Ok, and I guess the same goes for the error handling of dma_map_single()
of one of the fragments later in same function.

/Esben