From 54c55101ef3f3fc8466290373d804671957a45ff Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Tue, 10 Oct 2006 12:50:38 -0700 Subject: [PATCH] --- yaml --- r: 39209 b: refs/heads/master c: 73fbe8be73512b8a3ffa3d20c9d7f531af99679c h: refs/heads/master i: 39207: 08cb49ce1919a18051a30566e8b418299dbe4991 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4004712a542c..a1c947e7d5fb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1031bfb93adf641436b2192170525b76e2eb25bd +refs/heads/master: 73fbe8be73512b8a3ffa3d20c9d7f531af99679c diff --git a/trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c index f426a69d9a43..8bf5e9ec7c95 100644 --- a/trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c @@ -355,6 +355,11 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, tx_req->skb = skb; addr = dma_map_single(priv->ca->dma_device, skb->data, skb->len, 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); if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1),