Handle return codes of register_netdev(). Signed-off-by: Borislav Petkov <[EMAIL PROTECTED]>
Index: 21-rc7/drivers/net/tokenring/olympic.c =================================================================== --- 21-rc7.orig/drivers/net/tokenring/olympic.c +++ 21-rc7/drivers/net/tokenring/olympic.c @@ -264,7 +264,10 @@ static int __devinit olympic_probe(struc SET_NETDEV_DEV(dev, &pdev->dev); pci_set_drvdata(pdev,dev) ; - register_netdev(dev) ; + + if (register_netdev(dev)) + goto op_free_iomap; + printk("Olympic: %s registered as: %s\n",olympic_priv->olympic_card_name,dev->name); if (olympic_priv->olympic_network_monitor) { /* Must go after register_netdev as we need the device name */ char proc_name[20] ; @@ -281,7 +284,8 @@ op_free_iomap: if (olympic_priv->olympic_lap) iounmap(olympic_priv->olympic_lap); - free_netdev(dev); + if (dev) + free_netdev(dev); op_release_dev: pci_release_regions(pdev); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html