Skip to content

Commit

Permalink
mlx4_en: Setting actual RX ring size
Browse files Browse the repository at this point in the history
When configuring HW resources, the RX ring size that is passed should be the actual
size that depends on number of buffers that we succeeded to allocate.
The mask for ring size should also be configured accordingly

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Yevgeny Petrilin authored and David S. Miller committed Aug 24, 2010
1 parent 69351a2 commit 00d7d7b
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/net/mlx4/en_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,6 @@ static int mlx4_en_fill_rx_buffers(struct mlx4_en_priv *priv)
ring->prod--;
mlx4_en_free_rx_desc(priv, ring, ring->actual_size);
}
ring->size_mask = ring->actual_size - 1;
}

return 0;
Expand Down Expand Up @@ -389,6 +388,7 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv)
for (ring_ind = 0; ring_ind < priv->rx_ring_num; ring_ind++) {
ring = &priv->rx_ring[ring_ind];

ring->size_mask = ring->actual_size - 1;
mlx4_en_update_rx_prod_db(ring);
}

Expand Down Expand Up @@ -816,7 +816,7 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
qp->event = mlx4_en_sqp_event;

memset(context, 0, sizeof *context);
mlx4_en_fill_qp_context(priv, ring->size, ring->stride, 0, 0,
mlx4_en_fill_qp_context(priv, ring->actual_size, ring->stride, 0, 0,
qpn, ring->cqn, context);
context->db_rec_addr = cpu_to_be64(ring->wqres.db.dma);

Expand Down

0 comments on commit 00d7d7b

Please sign in to comment.