aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorEli Cohen <eli@dev.mellanox.co.il>2010-10-07 10:24:16 -0400
committerRoland Dreier <rolandd@cisco.com>2010-10-11 17:33:17 -0400
commit5a0fd09428e47fb08d5a887515d92bb2447f4b65 (patch)
tree83a6642cb0dfd99dff733dde7b4c7aa40df2d920 /drivers/infiniband/hw
parent0498628f974d4132ba34b06fc24786a00401b79c (diff)
IB/mlx4: Limit size of fast registration WRs
Fix the limit on the size of max fast registration WRs that can be posted to match hardware capabilities. Signed-off-by: Eli Cohen <eli@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/mlx4/main.c2
-rw-r--r--drivers/infiniband/hw/mlx4/mr.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 4e94e360e43b..62e8cd6f0371 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -135,7 +135,7 @@ static int mlx4_ib_query_device(struct ib_device *ibdev,
135 props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs; 135 props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs;
136 props->max_srq_wr = dev->dev->caps.max_srq_wqes - 1; 136 props->max_srq_wr = dev->dev->caps.max_srq_wqes - 1;
137 props->max_srq_sge = dev->dev->caps.max_srq_sge; 137 props->max_srq_sge = dev->dev->caps.max_srq_sge;
138 props->max_fast_reg_page_list_len = PAGE_SIZE / sizeof (u64); 138 props->max_fast_reg_page_list_len = MLX4_MAX_FAST_REG_PAGES;
139 props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; 139 props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay;
140 props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ? 140 props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ?
141 IB_ATOMIC_HCA : IB_ATOMIC_NONE; 141 IB_ATOMIC_HCA : IB_ATOMIC_NONE;
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c
index 1d27b9a8e2d6..dca55b19a6f1 100644
--- a/drivers/infiniband/hw/mlx4/mr.c
+++ b/drivers/infiniband/hw/mlx4/mr.c
@@ -226,7 +226,7 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device
226 struct mlx4_ib_fast_reg_page_list *mfrpl; 226 struct mlx4_ib_fast_reg_page_list *mfrpl;
227 int size = page_list_len * sizeof (u64); 227 int size = page_list_len * sizeof (u64);
228 228
229 if (size > PAGE_SIZE) 229 if (page_list_len > MLX4_MAX_FAST_REG_PAGES)
230 return ERR_PTR(-EINVAL); 230 return ERR_PTR(-EINVAL);
231 231
232 mfrpl = kmalloc(sizeof *mfrpl, GFP_KERNEL); 232 mfrpl = kmalloc(sizeof *mfrpl, GFP_KERNEL);