RDMA/cxgb4: Don't free chunk that we have failed to allocate
authorThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Fri, 12 Oct 2012 21:10:11 +0000 (21:10 +0000)
committerRoland Dreier <roland@purestorage.com>
Mon, 22 Oct 2012 18:05:00 +0000 (11:05 -0700)
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>
drivers/infiniband/hw/cxgb4/mem.c

index 57e07c6..afd8179 100644 (file)
@@ -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,