IPoIB: Check for DMA mapping error for TX packets
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
@@ -355,6 +355,11 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb,
|
|||||||
tx_req->skb = skb;
|
tx_req->skb = skb;
|
||||||
addr = dma_map_single(priv->ca->dma_device, skb->data, skb->len,
|
addr = dma_map_single(priv->ca->dma_device, skb->data, skb->len,
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
|
if (unlikely(dma_mapping_error(addr))) {
|
||||||
|
++priv->stats.tx_errors;
|
||||||
|
dev_kfree_skb_any(skb);
|
||||||
|
return;
|
||||||
|
}
|
||||||
pci_unmap_addr_set(tx_req, mapping, addr);
|
pci_unmap_addr_set(tx_req, mapping, addr);
|
||||||
|
|
||||||
if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1),
|
if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1),
|
||||||
|
Reference in New Issue
Block a user