diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-18 11:09:40 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-18 11:09:40 -0500 |
commit | ba4b60e85d6c5fc2242fd24e131a47fb922e5d89 (patch) | |
tree | 6be918ce3924d0677bc1029f7d1255fef48a8f85 /drivers/infiniband/hw/mlx5/qp.c | |
parent | 5dba4c56dfa660a85dc8e897990948cdec3734bf (diff) | |
parent | 6d0abeca3242a88cab8232e4acd7e2bf088f3bc2 (diff) |
Merge 3.14-rc3 into char-misc-next
We need the fixes here for future mei and other patches.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/infiniband/hw/mlx5/qp.c')
-rw-r--r-- | drivers/infiniband/hw/mlx5/qp.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index ae37fb9bf262..7dfe8a1c84cf 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c | |||
@@ -216,7 +216,9 @@ static int sq_overhead(enum ib_qp_type qp_type) | |||
216 | 216 | ||
217 | case IB_QPT_UC: | 217 | case IB_QPT_UC: |
218 | size += sizeof(struct mlx5_wqe_ctrl_seg) + | 218 | size += sizeof(struct mlx5_wqe_ctrl_seg) + |
219 | sizeof(struct mlx5_wqe_raddr_seg); | 219 | sizeof(struct mlx5_wqe_raddr_seg) + |
220 | sizeof(struct mlx5_wqe_umr_ctrl_seg) + | ||
221 | sizeof(struct mlx5_mkey_seg); | ||
220 | break; | 222 | break; |
221 | 223 | ||
222 | case IB_QPT_UD: | 224 | case IB_QPT_UD: |
@@ -428,11 +430,17 @@ static int alloc_uuar(struct mlx5_uuar_info *uuari, | |||
428 | break; | 430 | break; |
429 | 431 | ||
430 | case MLX5_IB_LATENCY_CLASS_MEDIUM: | 432 | case MLX5_IB_LATENCY_CLASS_MEDIUM: |
431 | uuarn = alloc_med_class_uuar(uuari); | 433 | if (uuari->ver < 2) |
434 | uuarn = -ENOMEM; | ||
435 | else | ||
436 | uuarn = alloc_med_class_uuar(uuari); | ||
432 | break; | 437 | break; |
433 | 438 | ||
434 | case MLX5_IB_LATENCY_CLASS_HIGH: | 439 | case MLX5_IB_LATENCY_CLASS_HIGH: |
435 | uuarn = alloc_high_class_uuar(uuari); | 440 | if (uuari->ver < 2) |
441 | uuarn = -ENOMEM; | ||
442 | else | ||
443 | uuarn = alloc_high_class_uuar(uuari); | ||
436 | break; | 444 | break; |
437 | 445 | ||
438 | case MLX5_IB_LATENCY_CLASS_FAST_PATH: | 446 | case MLX5_IB_LATENCY_CLASS_FAST_PATH: |
@@ -657,8 +665,8 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev, | |||
657 | int err; | 665 | int err; |
658 | 666 | ||
659 | uuari = &dev->mdev.priv.uuari; | 667 | uuari = &dev->mdev.priv.uuari; |
660 | if (init_attr->create_flags & IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK) | 668 | if (init_attr->create_flags) |
661 | qp->flags |= MLX5_IB_QP_BLOCK_MULTICAST_LOOPBACK; | 669 | return -EINVAL; |
662 | 670 | ||
663 | if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR) | 671 | if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR) |
664 | lc = MLX5_IB_LATENCY_CLASS_FAST_PATH; | 672 | lc = MLX5_IB_LATENCY_CLASS_FAST_PATH; |