diff options
Diffstat (limited to 'drivers/infiniband/hw/mlx5/srq.c')
-rw-r--r-- | drivers/infiniband/hw/mlx5/srq.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mlx5/srq.c b/drivers/infiniband/hw/mlx5/srq.c index 70bd131ba646..97cc1baaa8e3 100644 --- a/drivers/infiniband/hw/mlx5/srq.c +++ b/drivers/infiniband/hw/mlx5/srq.c | |||
@@ -238,6 +238,7 @@ struct ib_srq *mlx5_ib_create_srq(struct ib_pd *pd, | |||
238 | struct ib_udata *udata) | 238 | struct ib_udata *udata) |
239 | { | 239 | { |
240 | struct mlx5_ib_dev *dev = to_mdev(pd->device); | 240 | struct mlx5_ib_dev *dev = to_mdev(pd->device); |
241 | struct mlx5_general_caps *gen; | ||
241 | struct mlx5_ib_srq *srq; | 242 | struct mlx5_ib_srq *srq; |
242 | int desc_size; | 243 | int desc_size; |
243 | int buf_size; | 244 | int buf_size; |
@@ -247,11 +248,12 @@ struct ib_srq *mlx5_ib_create_srq(struct ib_pd *pd, | |||
247 | int is_xrc; | 248 | int is_xrc; |
248 | u32 flgs, xrcdn; | 249 | u32 flgs, xrcdn; |
249 | 250 | ||
251 | gen = &dev->mdev->caps.gen; | ||
250 | /* Sanity check SRQ size before proceeding */ | 252 | /* Sanity check SRQ size before proceeding */ |
251 | if (init_attr->attr.max_wr >= dev->mdev->caps.max_srq_wqes) { | 253 | if (init_attr->attr.max_wr >= gen->max_srq_wqes) { |
252 | mlx5_ib_dbg(dev, "max_wr %d, cap %d\n", | 254 | mlx5_ib_dbg(dev, "max_wr %d, cap %d\n", |
253 | init_attr->attr.max_wr, | 255 | init_attr->attr.max_wr, |
254 | dev->mdev->caps.max_srq_wqes); | 256 | gen->max_srq_wqes); |
255 | return ERR_PTR(-EINVAL); | 257 | return ERR_PTR(-EINVAL); |
256 | } | 258 | } |
257 | 259 | ||