|
@@ -6468,6 +6468,8 @@ static int rtl8169_close(struct net_device *dev)
|
|
|
rtl8169_down(dev);
|
|
rtl8169_down(dev);
|
|
|
rtl_unlock_work(tp);
|
|
rtl_unlock_work(tp);
|
|
|
|
|
|
|
|
|
|
+ cancel_work_sync(&tp->wk.work);
|
|
|
|
|
+
|
|
|
free_irq(pdev->irq, dev);
|
|
free_irq(pdev->irq, dev);
|
|
|
|
|
|
|
|
dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
|
|
dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
|
|
@@ -6793,8 +6795,6 @@ static void rtl_remove_one(struct pci_dev *pdev)
|
|
|
rtl8168_driver_stop(tp);
|
|
rtl8168_driver_stop(tp);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- cancel_work_sync(&tp->wk.work);
|
|
|
|
|
-
|
|
|
|
|
netif_napi_del(&tp->napi);
|
|
netif_napi_del(&tp->napi);
|
|
|
|
|
|
|
|
unregister_netdev(dev);
|
|
unregister_netdev(dev);
|