diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/sunbmac.c linux-2.5/drivers/net/sunbmac.c --- bk-linus/drivers/net/sunbmac.c 2002-11-21 02:16:30.000000000 +0000 +++ linux-2.5/drivers/net/sunbmac.c 2002-11-21 17:59:30.000000000 +0000 @@ -1035,8 +1035,9 @@ static void bigmac_set_multicast(struct sbus_writel(tmp, bregs + BMAC_RXCFG); } -static int __init bigmac_ether_init(struct net_device *dev, struct sbus_dev *qec_sdev) +static int __init bigmac_ether_init(struct sbus_dev *qec_sdev) { + struct net_device *dev; static int version_printed; struct bigmac *bp; u8 bsizes, bsizes_more; @@ -1051,9 +1052,6 @@ static int __init bigmac_ether_init(stru if (version_printed++ == 0) printk(KERN_INFO "%s", version); - if (!dev) - return -ENOMEM; - /* Report what we have found to the user. */ printk(KERN_INFO "%s: BigMAC 100baseT Ethernet ", dev->name); dev->base_addr = (long) qec_sdev; @@ -1182,7 +1180,6 @@ static int __init bigmac_ether_init(stru /* Finish net device registration. */ dev->irq = bp->bigmac_sdev->irqs[0]; dev->dma = 0; - ether_setup(dev); /* Put us into the list of instances attached for later driver * exit. @@ -1236,7 +1234,6 @@ static int __init bigmac_match(struct sb static int __init bigmac_probe(void) { - struct net_device *dev = NULL; struct sbus_bus *sbus; struct sbus_dev *sdev = 0; static int called; @@ -1250,12 +1247,9 @@ static int __init bigmac_probe(void) for_each_sbus(sbus) { for_each_sbusdev(sdev, sbus) { - if (cards) - dev = NULL; - if (bigmac_match(sdev)) { cards++; - if ((v = bigmac_ether_init(dev, sdev))) + if ((v = bigmac_ether_init(sdev))) return v; } }