patch-2.4.0-test2 linux/drivers/net/smc-ultra.c
Next file: linux/drivers/net/smc-ultra32.c
Previous file: linux/drivers/net/smc-mca.c
Back to the patch index
Back to the overall index
- Lines: 66
- Date:
Mon Jun 19 13:42:39 2000
- Orig file:
v2.4.0-test1/linux/drivers/net/smc-ultra.c
- Orig date:
Thu May 11 15:30:07 2000
diff -u --recursive --new-file v2.4.0-test1/linux/drivers/net/smc-ultra.c linux/drivers/net/smc-ultra.c
@@ -114,7 +114,7 @@
if (base_addr > 0x1ff) /* Check a single specified location. */
return ultra_probe1(dev, base_addr);
else if (base_addr != 0) /* Don't probe at all. */
- return ENXIO;
+ return -ENXIO;
for (i = 0; ultra_portlist[i]; i++) {
int ioaddr = ultra_portlist[i];
@@ -124,7 +124,7 @@
return 0;
}
- return ENODEV;
+ return -ENODEV;
}
#endif
@@ -143,7 +143,7 @@
/* Check the ID nibble. */
if ((idreg & 0xF0) != 0x20 /* SMC Ultra */
&& (idreg & 0xF0) != 0x40) /* SMC EtherEZ */
- return ENODEV;
+ return -ENODEV;
/* Select the station address register set. */
outb(reg4, ioaddr + 4);
@@ -151,10 +151,7 @@
for (i = 0; i < 8; i++)
checksum += inb(ioaddr + 8 + i);
if ((checksum & 0xff) != 0xFF)
- return ENODEV;
-
- if (load_8390_module("smc-ultra.c"))
- return -ENOSYS;
+ return -ENODEV;
if (dev == NULL)
dev = init_etherdev(0, 0);
@@ -448,6 +445,9 @@
{
int this_dev, found = 0;
+ if (load_8390_module("smc-ultra.c"))
+ return -ENOSYS;
+
for (this_dev = 0; this_dev < MAX_ULTRA_CARDS; this_dev++) {
struct net_device *dev = &dev_ultra[this_dev];
dev->irq = irq[this_dev];
@@ -460,6 +460,7 @@
if (register_netdev(dev) != 0) {
printk(KERN_WARNING "smc-ultra.c: No SMC Ultra card found (i/o = 0x%x).\n", io[this_dev]);
if (found != 0) return 0; /* Got at least one. */
+ unload_8390_module();
return -ENXIO;
}
found++;
@@ -483,7 +484,7 @@
kfree(dev->priv);
}
}
- unlock_8390_module();
+ unload_8390_module();
}
#endif /* MODULE */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)