summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>2012-10-12 21:10:11 +0000
committerRoland Dreier <roland@purestorage.com>2012-10-22 11:05:00 -0700
commit32c631f9f2566d09d32abc2f4c7aa24c6d8b5641 (patch)
treef52a29e97fda3e60e84755939102601e5c646692
parentddffeb8c4d0331609ef2581d84de4d763607bd37 (diff)
downloadlinux-stable-32c631f9f2566d09d32abc2f4c7aa24c6d8b5641.tar.gz
linux-stable-32c631f9f2566d09d32abc2f4c7aa24c6d8b5641.tar.bz2
linux-stable-32c631f9f2566d09d32abc2f4c7aa24c6d8b5641.zip
RDMA/cxgb4: Don't free chunk that we have failed to allocate
In the error path of registering memory when there's a failure to allocate a chunk from the memory pool, we try to free the same chunk we just failed to allocate, which will BUG(). Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/hw/cxgb4/mem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c
index 57e07c61ace2..afd81790ab3c 100644
--- a/drivers/infiniband/hw/cxgb4/mem.c
+++ b/drivers/infiniband/hw/cxgb4/mem.c
@@ -468,7 +468,7 @@ struct ib_mr *c4iw_register_phys_mem(struct ib_pd *pd,
ret = alloc_pbl(mhp, npages);
if (ret) {
kfree(page_list);
- goto err_pbl;
+ goto err;
}
ret = write_pbl(&mhp->rhp->rdev, page_list, mhp->attr.pbl_addr,