struct i40e_vsi *vsi = np->vsi;
        struct i40e_pf *pf = vsi->back;
        struct i40e_ring *tx_ring = NULL;
-       unsigned int i, hung_queue = 0;
+       unsigned int i;
        u32 head, val;
 
        pf->tx_timeout_count++;
 
-       /* find the stopped queue the same way the stack does */
-       for (i = 0; i < netdev->num_tx_queues; i++) {
-               struct netdev_queue *q;
-               unsigned long trans_start;
-
-               q = netdev_get_tx_queue(netdev, i);
-               trans_start = q->trans_start;
-               if (netif_xmit_stopped(q) &&
-                   time_after(jiffies,
-                              (trans_start + netdev->watchdog_timeo))) {
-                       hung_queue = i;
-                       break;
-               }
-       }
-
-       if (i == netdev->num_tx_queues) {
-               netdev_info(netdev, "tx_timeout: no netdev hung queue found\n");
-       } else {
-               /* now that we have an index, find the tx_ring struct */
-               for (i = 0; i < vsi->num_queue_pairs; i++) {
-                       if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) {
-                               if (hung_queue ==
-                                   vsi->tx_rings[i]->queue_index) {
-                                       tx_ring = vsi->tx_rings[i];
-                                       break;
-                               }
+       /* with txqueue index, find the tx_ring struct */
+       for (i = 0; i < vsi->num_queue_pairs; i++) {
+               if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) {
+                       if (txqueue ==
+                           vsi->tx_rings[i]->queue_index) {
+                               tx_ring = vsi->tx_rings[i];
+                               break;
                        }
                }
        }
                        val = rd32(&pf->hw, I40E_PFINT_DYN_CTL0);
 
                netdev_info(netdev, "tx_timeout: VSI_seid: %d, Q %d, NTC: 0x%x, HWB: 0x%x, NTU: 0x%x, TAIL: 0x%x, INT: 0x%x\n",
-                           vsi->seid, hung_queue, tx_ring->next_to_clean,
+                           vsi->seid, txqueue, tx_ring->next_to_clean,
                            head, tx_ring->next_to_use,
                            readl(tx_ring->tail), val);
        }
 
        pf->tx_timeout_last_recovery = jiffies;
-       netdev_info(netdev, "tx_timeout recovery level %d, hung_queue %d\n",
-                   pf->tx_timeout_recovery_level, hung_queue);
+       netdev_info(netdev, "tx_timeout recovery level %d, txqueue %d\n",
+                   pf->tx_timeout_recovery_level, txqueue);
 
        switch (pf->tx_timeout_recovery_level) {
        case 1: