IB/mlx4: Fix gfp passing in create_qp_common()
authorJiri Kosina <jkosina@suse.cz>
Mon, 9 Jun 2014 14:36:33 +0000 (16:36 +0200)
committerRoland Dreier <roland@purestorage.com>
Mon, 9 Jun 2014 17:17:12 +0000 (10:17 -0700)
There are two kzalloc() calls which were not converted to use value of
gfp passed to create_qp_common() instead of using hardcoded GFP_KERNEL
in 40f2287bd583 ("IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO").  Fix
this by passing gfp value down properly.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/qp.c

index 8710baf60bb9f362cc3fab566e97e0c1f9e6793d..a0bfda275647b786c84914ddb167cfbd638c71ac 100644 (file)
@@ -659,14 +659,14 @@ static int create_qp_common(struct mlx4_ib_dev *dev, struct ib_pd *pd,
                if (qp_type == MLX4_IB_QPT_SMI || qp_type == MLX4_IB_QPT_GSI ||
                    (qp_type & (MLX4_IB_QPT_PROXY_SMI | MLX4_IB_QPT_PROXY_SMI_OWNER |
                                MLX4_IB_QPT_PROXY_GSI | MLX4_IB_QPT_TUN_SMI_OWNER))) {
-                       sqp = kzalloc(sizeof (struct mlx4_ib_sqp), GFP_KERNEL);
+                       sqp = kzalloc(sizeof (struct mlx4_ib_sqp), gfp);
                        if (!sqp)
                                return -ENOMEM;
                        qp = &sqp->qp;
                        qp->pri.vid = 0xFFFF;
                        qp->alt.vid = 0xFFFF;
                } else {
-                       qp = kzalloc(sizeof (struct mlx4_ib_qp), GFP_KERNEL);
+                       qp = kzalloc(sizeof (struct mlx4_ib_qp), gfp);
                        if (!qp)
                                return -ENOMEM;
                        qp->pri.vid = 0xFFFF;