summary refs log tree commit diff
path: root/drivers/net
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.co.il>2013-06-04 05:13:26 +0000
committerDavid S. Miller <davem@davemloft.net>2013-06-04 12:58:24 -0700
commita1c6693a50391683e7f5787bb027b1aae1afbedb (patch)
tree8200672a773085cc9c6bb957c33eec60479ff85d /drivers/net
parent01cb71d2d47b78354358e4bb938bb06323e17498 (diff)
downloadlinux-a1c6693a50391683e7f5787bb027b1aae1afbedb.tar.gz
net/mlx4_en: Fix adaptive moderation cq update
When turning on adaptive_rx under adaptive moderation, the CQ's moderation
count wasn't updated according to rx_frames which resulted in too many
interrupts and bandwidth drop.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_netdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index b35f94700093..810aab01c3c9 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -1323,6 +1323,7 @@ static void mlx4_en_auto_moderation(struct mlx4_en_priv *priv)
 			priv->last_moder_time[ring] = moder_time;
 			cq = &priv->rx_cq[ring];
 			cq->moder_time = moder_time;
+			cq->moder_cnt = priv->rx_frames;
 			err = mlx4_en_set_cq_moder(priv, cq);
 			if (err)
 				en_err(priv, "Failed modifying moderation for cq:%d\n",