Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

r6040: Do a Proper deinit at errorpath and also when driver unloads (calling r6040_remove_one)

so if mdiobus_alloc fails, the errorpath doesnt do a netif_napi_del and also
doesn't set the priv data of the driver to NULL.

at the driver unload stage the driver doesn't remove the NAPI context, and
doesnt' set the priv data to NULL, and also doesn't call the pci_iounmap.

Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Devendra Naga and committed by
David S. Miller
20571d88 acaf8276

+5
+5
drivers/net/ethernet/rdc/r6040.c
··· 1233 1233 err_out_mdio: 1234 1234 mdiobus_free(lp->mii_bus); 1235 1235 err_out_unmap: 1236 + netif_napi_del(&lp->napi); 1237 + pci_set_drvdata(pdev, NULL); 1236 1238 pci_iounmap(pdev, ioaddr); 1237 1239 err_out_free_res: 1238 1240 pci_release_regions(pdev); ··· 1255 1253 mdiobus_unregister(lp->mii_bus); 1256 1254 kfree(lp->mii_bus->irq); 1257 1255 mdiobus_free(lp->mii_bus); 1256 + netif_napi_del(&lp->napi); 1257 + pci_set_drvdata(pdev, NULL); 1258 + pci_iounmap(pdev, lp->base); 1258 1259 pci_release_regions(pdev); 1259 1260 free_netdev(dev); 1260 1261 pci_disable_device(pdev);