summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx4/en_tx.c
diff options
context:
space:
mode:
authorTom Herbert <therbert@google.com>2013-02-06 07:58:41 +0000
committerDavid S. Miller <davem@davemloft.net>2013-02-07 23:33:51 -0500
commit41b749201bbe54ce807c4287b4942e85cb0ca466 (patch)
tree517ea10b31965d9eb40a46eb7999615fd1a81b0e /drivers/net/ethernet/mellanox/mlx4/en_tx.c
parent2de27f307feda26ef364f2407b70e3ca02a3ce56 (diff)
downloadtalos-obmc-linux-41b749201bbe54ce807c4287b4942e85cb0ca466.tar.gz
talos-obmc-linux-41b749201bbe54ce807c4287b4942e85cb0ca466.zip
mlx4_en: Fix BQL reset TX queue call point
Fix issue in Mellanox driver related to BQL. netdev_tx_reset_queue was not being called in certain situations where the device was being start and stopped. Moved netdev_tx_reset_queue from the reset device path to mlx4_en_free_tx_buf which is where the rings are cleaned in a reset (specifically from device being stopped). Signed-off-by: Tom Herbert <therbert@google.com> Acked-By: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_tx.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_tx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_tx.c b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
index 3b28e167b05b..49308cc65ee7 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_tx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
@@ -294,6 +294,8 @@ int mlx4_en_free_tx_buf(struct net_device *dev, struct mlx4_en_tx_ring *ring)
cnt++;
}
+ netdev_tx_reset_queue(ring->tx_queue);
+
if (cnt)
en_dbg(DRV, priv, "Freed %d uncompleted tx descriptors\n", cnt);
OpenPOWER on IntegriCloud