diff options
author | Yann Droneaud <[mailto:ydroneaud@opteya.com]> | 2014-03-28 14:55:21 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-28 14:55:21 -0400 |
commit | bfd2793c9559ae73ae021797f1d4b097c27f24be (patch) | |
tree | d352f4b3e46573880cd4efe67eb81235e7e22937 /drivers/infiniband/hw/cxgb4 | |
parent | f3c9ec05ab020b57108647cd30ce67bec156486f (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.c | 4 |
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 | ||