aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>2011-03-30 23:30:17 +0000
committerDavid S. Miller <davem@davemloft.net>2011-03-31 02:52:18 -0700
commitc37947459172a02691ccd48cb967e8b605d38c56 (patch)
treeb3f52f4e13d4fe95ffe4024cb09571f0c0791110
parent53020092bd89b0d4ccc5368a3956f43cb43e5665 (diff)
downloadvexpress-lsk-c37947459172a02691ccd48cb967e8b605d38c56.tar.gz
mlx4: Fixing bad size of event queue buffer
We should reduce the number of reserved completion queues from the total number of entries. Since the queue size is power of two, not reducing the reserved entries, caused a double queue size, which may lead to allocation failures in some cases. Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/mlx4/eq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/mlx4/eq.c b/drivers/net/mlx4/eq.c
index 506cfd0372e..1ad1f6029af 100644
--- a/drivers/net/mlx4/eq.c
+++ b/drivers/net/mlx4/eq.c
@@ -603,7 +603,9 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
}
for (i = 0; i < dev->caps.num_comp_vectors; ++i) {
- err = mlx4_create_eq(dev, dev->caps.num_cqs + MLX4_NUM_SPARE_EQE,
+ err = mlx4_create_eq(dev, dev->caps.num_cqs -
+ dev->caps.reserved_cqs +
+ MLX4_NUM_SPARE_EQE,
(dev->flags & MLX4_FLAG_MSI_X) ? i : 0,
&priv->eq_table.eq[i]);
if (err) {