From dc90cad405bd745dba0e256b39e3c5503c86a3ab Mon Sep 17 00:00:00 2001 From: leonidk Date: Thu, 2 Oct 2008 09:25:20 +0000 Subject: [PATCH] [MLX4] more clean allocation of WRID array (replaces 1624-1625). Signed-off_by: Alex Estrin git-svn-id: svn://openib.tc.cornell.edu/gen1@1627 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/hw/mlx4/kernel/bus/ib/qp.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/trunk/hw/mlx4/kernel/bus/ib/qp.c b/trunk/hw/mlx4/kernel/bus/ib/qp.c index 2a03a73f..2a9131c6 100644 --- a/trunk/hw/mlx4/kernel/bus/ib/qp.c +++ b/trunk/hw/mlx4/kernel/bus/ib/qp.c @@ -412,15 +412,20 @@ static int create_qp_common(struct mlx4_ib_dev *dev, struct ib_pd *pd, if (err) goto err_mtt; - if (qp->sq.wqe_cnt) + if (qp->sq.wqe_cnt) { qp->sq.wrid = kmalloc(qp->sq.wqe_cnt * sizeof (u64), GFP_KERNEL); + if (!qp->sq.wrid) { + err = -ENOMEM; + goto err_wrid; + } + } - if (qp->rq.wqe_cnt) + if (qp->rq.wqe_cnt) { qp->rq.wrid = kmalloc(qp->rq.wqe_cnt * sizeof (u64), GFP_KERNEL); - - if (!qp->sq.wrid && !qp->rq.wrid) { - err = -ENOMEM; - goto err_wrid; + if (!qp->rq.wrid) { + err = -ENOMEM; + goto err_wrid; + } } } -- 2.46.0