aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2017-07-13 15:12:01 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2017-07-13 15:12:01 +0000
commitb30a7ebd60be8afbdd27169ee1e82a5d189d0e7e (patch)
tree3ae1e044ad495dd5dbb02ee3d3453c99c3333fdf
parentd5f5ef46d9f1c4274edfc5bc41c44ec633b758d8 (diff)
Notes
-rw-r--r--sys/ofed/drivers/net/mlx4/en_rx.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/ofed/drivers/net/mlx4/en_rx.c b/sys/ofed/drivers/net/mlx4/en_rx.c
index f876008c6a13..5dc8ef4a95a5 100644
--- a/sys/ofed/drivers/net/mlx4/en_rx.c
+++ b/sys/ofed/drivers/net/mlx4/en_rx.c
@@ -394,8 +394,14 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv)
ring->rx_mb_size = priv->rx_mb_size;
ring->stride = stride;
- if (ring->stride <= TXBB_SIZE)
+ if (ring->stride <= TXBB_SIZE) {
+ /* Stamp first unused send wqe */
+ __be32 *ptr = (__be32 *)ring->buf;
+ __be32 stamp = cpu_to_be32(1 << STAMP_SHIFT);
+ *ptr = stamp;
+ /* Move pointer to start of rx section */
ring->buf += TXBB_SIZE;
+ }
ring->log_stride = ffs(ring->stride) - 1;
ring->buf_size = ring->size * ring->stride;