From: Roland Dreier <roland@topspin.com>

Fix memory leak when posting a receive buffer (pointed out by Shirley Ma).

Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/infiniband/ulp/ipoib/ipoib_ib.c |    3 +++
 1 files changed, 3 insertions(+)

diff -puN drivers/infiniband/ulp/ipoib/ipoib_ib.c~ib-ipoib-fix-rx-memory-leak drivers/infiniband/ulp/ipoib/ipoib_ib.c
--- 25/drivers/infiniband/ulp/ipoib/ipoib_ib.c~ib-ipoib-fix-rx-memory-leak	2005-03-02 21:50:38.000000000 -0800
+++ 25-akpm/drivers/infiniband/ulp/ipoib/ipoib_ib.c	2005-03-02 21:50:38.000000000 -0800
@@ -137,6 +137,9 @@ static int ipoib_ib_post_receive(struct 
 	if (ret) {
 		ipoib_warn(priv, "ipoib_ib_receive failed for buf %d (%d)\n",
 			   id, ret);
+		dma_unmap_single(priv->ca->dma_device, addr,
+				 IPOIB_BUF_SIZE, DMA_FROM_DEVICE);
+		dev_kfree_skb_any(skb);
 		priv->rx_ring[id].skb = NULL;
 	}
 
_