|
@@ -1169,11 +1169,16 @@ int mlx5_ib_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata)
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
- if (entries < 1)
|
|
|
+ if (entries < 1 ||
|
|
|
+ entries > (1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz))) {
|
|
|
+ mlx5_ib_warn(dev, "wrong entries number %d, max %d\n",
|
|
|
+ entries,
|
|
|
+ 1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz));
|
|
|
return -EINVAL;
|
|
|
+ }
|
|
|
|
|
|
entries = roundup_pow_of_two(entries + 1);
|
|
|
- if (entries > (1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz)) + 1)
|
|
|
+ if (entries > (1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz)) + 1)
|
|
|
return -EINVAL;
|
|
|
|
|
|
if (entries == ibcq->cqe + 1)
|