aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_netdev.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_netdev.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index f1dcddcb8050..caf204770569 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -1236,10 +1236,19 @@ static void mlx4_en_tx_timeout(struct net_device *dev)
1236{ 1236{
1237 struct mlx4_en_priv *priv = netdev_priv(dev); 1237 struct mlx4_en_priv *priv = netdev_priv(dev);
1238 struct mlx4_en_dev *mdev = priv->mdev; 1238 struct mlx4_en_dev *mdev = priv->mdev;
1239 int i;
1239 1240
1240 if (netif_msg_timer(priv)) 1241 if (netif_msg_timer(priv))
1241 en_warn(priv, "Tx timeout called on port:%d\n", priv->port); 1242 en_warn(priv, "Tx timeout called on port:%d\n", priv->port);
1242 1243
1244 for (i = 0; i < priv->tx_ring_num; i++) {
1245 if (!netif_tx_queue_stopped(netdev_get_tx_queue(dev, i)))
1246 continue;
1247 en_warn(priv, "TX timeout on queue: %d, QP: 0x%x, CQ: 0x%x, Cons: 0x%x, Prod: 0x%x\n",
1248 i, priv->tx_ring[i].qpn, priv->tx_ring[i].cqn,
1249 priv->tx_ring[i].cons, priv->tx_ring[i].prod);
1250 }
1251
1243 priv->port_stats.tx_timeout++; 1252 priv->port_stats.tx_timeout++;
1244 en_dbg(DRV, priv, "Scheduling watchdog\n"); 1253 en_dbg(DRV, priv, "Scheduling watchdog\n");
1245 queue_work(mdev->workqueue, &priv->watchdog_task); 1254 queue_work(mdev->workqueue, &priv->watchdog_task);