ql_tx_ring_clean(qdev);
 
+       /* Call netif_napi_del() from common point.
+        */
+       for (i = qdev->rss_ring_first_cq_id; i < qdev->rx_ring_count; i++)
+               netif_napi_del(&qdev->rx_ring[i].napi);
+
        ql_free_rx_buffers(qdev);
        spin_lock(&qdev->hw_lock);
        status = ql_adapter_reset(qdev);
 {
        struct net_device *ndev = pci_get_drvdata(pdev);
        struct ql_adapter *qdev = netdev_priv(ndev);
-       int err, i;
+       int err;
 
        netif_device_detach(ndev);
 
                        return err;
        }
 
-       for (i = qdev->rss_ring_first_cq_id; i < qdev->rx_ring_count; i++)
-               netif_napi_del(&qdev->rx_ring[i].napi);
-
        err = pci_save_state(pdev);
        if (err)
                return err;