aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/cxgb4
diff options
context:
space:
mode:
authorYann Droneaud <[mailto:ydroneaud@opteya.com]>2014-03-28 14:55:21 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-28 14:55:21 -0400
commitbfd2793c9559ae73ae021797f1d4b097c27f24be (patch)
treed352f4b3e46573880cd4efe67eb81235e7e22937 /drivers/infiniband/hw/cxgb4
parentf3c9ec05ab020b57108647cd30ce67bec156486f (diff)
RDMA/cxgb4: set error code on kmalloc() failure
If kmalloc() fails in c4iw_alloc_ucontext(), the function leaves but does not set an error code in ret variable: it will return 0 to the caller. This patch set ret to -ENOMEM in such case. Cc: Steve Wise <swise@opengridcomputing.com> Cc: Steve Wise <swise@chelsio.com> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/infiniband/hw/cxgb4')
-rw-r--r--drivers/infiniband/hw/cxgb4/provider.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c
index e36d2a27c431..79429256023a 100644
--- a/drivers/infiniband/hw/cxgb4/provider.c
+++ b/drivers/infiniband/hw/cxgb4/provider.c
@@ -128,8 +128,10 @@ static struct ib_ucontext *c4iw_alloc_ucontext(struct ib_device *ibdev,
128 rhp->rdev.flags |= T4_STATUS_PAGE_DISABLED; 128 rhp->rdev.flags |= T4_STATUS_PAGE_DISABLED;
129 } else { 129 } else {
130 mm = kmalloc(sizeof(*mm), GFP_KERNEL); 130 mm = kmalloc(sizeof(*mm), GFP_KERNEL);
131 if (!mm) 131 if (!mm) {
132 ret = -ENOMEM;
132 goto err_free; 133 goto err_free;
134 }
133 135
134 uresp.status_page_size = PAGE_SIZE; 136 uresp.status_page_size = PAGE_SIZE;
135 137