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

From: David Miller
Date: Thu Feb 20 2020 - 13:11:04 EST


From: Esben Haabendal <esben@xxxxxxxxxx>
Date: Thu, 20 Feb 2020 09:32:58 +0100

> 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.

Yes.