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