提交 ad1be8d3 编写于 作者: D Devendra Naga 提交者: David S. Miller

r8169: call netif_napi_del at errpaths and at driver unload

when register_netdev fails, the init'ed NAPIs by netif_napi_add must be
deleted with netif_napi_del, and also when driver unloads, it should
delete the NAPI before unregistering netdevice using unregister_netdev.
Signed-off-by: NDevendra Naga <devendra.aaru@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 fff32699
...@@ -6345,6 +6345,8 @@ static void __devexit rtl_remove_one(struct pci_dev *pdev) ...@@ -6345,6 +6345,8 @@ static void __devexit rtl_remove_one(struct pci_dev *pdev)
cancel_work_sync(&tp->wk.work); cancel_work_sync(&tp->wk.work);
netif_napi_del(&tp->napi);
unregister_netdev(dev); unregister_netdev(dev);
rtl_release_firmware(tp); rtl_release_firmware(tp);
...@@ -6668,6 +6670,7 @@ rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -6668,6 +6670,7 @@ rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
return rc; return rc;
err_out_msi_4: err_out_msi_4:
netif_napi_del(&tp->napi);
rtl_disable_msi(pdev, tp); rtl_disable_msi(pdev, tp);
iounmap(ioaddr); iounmap(ioaddr);
err_out_free_res_3: err_out_free_res_3:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册