patch-2.4.0-test11 linux/drivers/net/3c523.c
Next file: linux/drivers/net/3c527.c
Previous file: linux/drivers/net/3c515.c
Back to the patch index
Back to the overall index
- Lines: 71
- Date:
Tue Nov 14 13:16:37 2000
- Orig file:
v2.4.0-test10/linux/drivers/net/3c523.c
- Orig date:
Tue Jul 18 16:09:27 2000
diff -u --recursive --new-file v2.4.0-test10/linux/drivers/net/3c523.c linux/drivers/net/3c523.c
@@ -271,7 +271,6 @@
netif_stop_queue(dev);
elmc_id_reset586(); /* the hard way to stop the receiver */
free_irq(dev->irq, dev);
- MOD_DEC_USE_COUNT;
return 0;
}
@@ -281,21 +280,21 @@
static int elmc_open(struct net_device *dev)
{
+ int ret;
elmc_id_attn586(); /* disable interrupts */
- if (request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM,
- "3c523", dev)
- ) {
+ ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM,
+ dev->name, dev);
+ if (ret) {
printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq);
elmc_id_reset586();
- return -EAGAIN;
+ return ret;
}
alloc586(dev);
init586(dev);
startrecv586(dev);
netif_start_queue(dev);
- MOD_INC_USE_COUNT;
return 0; /* most done by init */
}
@@ -409,13 +408,14 @@
int __init elmc_probe(struct net_device *dev)
{
static int slot = 0;
- int base_addr = dev ? dev->base_addr : 0;
- int irq = dev ? dev->irq : 0;
+ int base_addr = dev->base_addr;
+ int irq = dev->irq;
u_char status = 0;
u_char revision = 0;
int i = 0;
unsigned int size = 0;
+ SET_MODULE_OWNER(dev);
if (MCA_bus == 0) {
return -ENODEV;
}
@@ -1208,15 +1208,9 @@
/* Increase if needed ;) */
#define MAX_3C523_CARDS 4
-static struct net_device dev_elmc[MAX_3C523_CARDS] =
-{
- {
- "", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL
- },
-};
-
-static int irq[MAX_3C523_CARDS] = {0,};
-static int io[MAX_3C523_CARDS] = {0,};
+static struct net_device dev_elmc[MAX_3C523_CARDS];
+static int irq[MAX_3C523_CARDS];
+static int io[MAX_3C523_CARDS];
MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_3C523_CARDS) "i");
MODULE_PARM(io, "1-" __MODULE_STRING(MAX_3C523_CARDS) "i");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)