for (i = 0; i < priv->channels.num * priv->channels.params.num_tc; i++) {
                struct netdev_queue *dev_queue = netdev_get_tx_queue(dev, i);
                struct mlx5e_txqsq *sq = priv->txq2sq[i];
+               struct mlx5_core_dev *mdev = priv->mdev;
+               int irqn_not_used, eqn;
+               struct mlx5_eq *eq;
 
                if (!netif_xmit_stopped(dev_queue))
                        continue;
                netdev_err(dev, "TX timeout on queue: %d, SQ: 0x%x, CQ: 0x%x, SQ Cons: 0x%x SQ Prod: 0x%x, usecs since last trans: %u\n",
                           i, sq->sqn, sq->cq.mcq.cqn, sq->cc, sq->pc,
                           jiffies_to_usecs(jiffies - dev_queue->trans_start));
+
+               if (mlx5_vector2eqn(mdev, sq->cq.mcq.vector, &eqn,
+                                   &irqn_not_used))
+                       continue;
+
+               eq = mlx5_eqn2eq(mdev, eqn);
+               if (!IS_ERR(eq))
+                       netdev_err(dev, "EQ 0x%x: Cons = 0x%x, irqn = 0x%x\n",
+                                  eqn, eq->cons_index, eq->irqn);
        }
 
        if (sched_work && test_bit(MLX5E_STATE_OPENED, &priv->state))