patch-2.4.0-test2 linux/drivers/net/smc-ultra32.c
Next file: linux/drivers/net/smc9194.c
Previous file: linux/drivers/net/smc-ultra.c
Back to the patch index
Back to the overall index
- Lines: 81
- Date:
Mon Jun 19 13:42:39 2000
- Orig file:
v2.4.0-test1/linux/drivers/net/smc-ultra32.c
- Orig date:
Thu May 11 15:30:07 2000
diff -u --recursive --new-file v2.4.0-test1/linux/drivers/net/smc-ultra32.c linux/drivers/net/smc-ultra32.c
@@ -108,7 +108,7 @@
const char *ifmap[] = {"UTP No Link", "", "UTP/AUI", "UTP/BNC"};
int ioaddr, edge, media;
- if (!EISA_bus) return ENODEV;
+ if (!EISA_bus) return -ENODEV;
/* EISA spec allows for up to 16 slots, but 8 is typical. */
for (ioaddr = 0x1000 + ULTRA32_BASE; ioaddr < 0x9000; ioaddr += 0x1000)
@@ -123,7 +123,7 @@
if (ultra32_probe1(dev, ioaddr) == 0)
return 0;
}
- return ENODEV;
+ return -ENODEV;
}
int __init ultra32_probe1(struct net_device *dev, int ioaddr)
@@ -138,7 +138,7 @@
/* Check the ID nibble. */
if ((idreg & 0xf0) != 0x20) /* SMC Ultra */
- return ENODEV;
+ return -ENODEV;
/* Select the station address register set. */
outb(reg4, ioaddr + 4);
@@ -146,10 +146,7 @@
for (i = 0; i < 8; i++)
checksum += inb(ioaddr + 8 + i);
if ((checksum & 0xff) != 0xff)
- return ENODEV;
-
- if (load_8390_module("smc-ultra32.c"))
- return -ENOSYS;
+ return -ENODEV;
/* We should have a "dev" from Space.c or the static module table. */
if (dev == NULL) {
@@ -184,7 +181,7 @@
if ((inb(ioaddr + ULTRA32_CFG5) & 0x40) == 0) {
printk("\nsmc-ultra32: Card RAM is disabled! "
"Run EISA config utility.\n");
- return ENODEV;
+ return -ENODEV;
}
if ((inb(ioaddr + ULTRA32_CFG2) & 0x04) == 0)
printk("\nsmc-ultra32: Ignoring Bus-Master enable bit. "
@@ -381,20 +378,22 @@
{
int this_dev, found = 0;
+ if (load_8390_module("smc-ultra32.c"))
+ return -ENOSYS;
+
for (this_dev = 0; this_dev < MAX_ULTRA32_CARDS; this_dev++) {
struct net_device *dev = &dev_ultra[this_dev];
dev->init = ultra32_probe;
if (register_netdev(dev) != 0) {
if (found > 0) { /* Got at least one. */
- lock_8390_module();
return 0;
}
+ unload_8390_module();
printk(KERN_WARNING "smc-ultra32.c: No SMC Ultra32 found.\n");
return -ENXIO;
}
found++;
}
- lock_8390_module();
return 0;
}
@@ -413,6 +412,6 @@
kfree(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)