patch-2.4.21 linux-2.4.21/drivers/net/3c515.c
Next file: linux-2.4.21/drivers/net/3c523.c
Previous file: linux-2.4.21/drivers/net/3c509.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
2003-06-13 07:51:34.000000000 -0700
- Orig file:
linux-2.4.20/drivers/net/3c515.c
- Orig date:
2002-02-25 11:37:59.000000000 -0800
diff -urN linux-2.4.20/drivers/net/3c515.c linux-2.4.21/drivers/net/3c515.c
@@ -91,12 +91,14 @@
#define REQUEST_IRQ(i,h,f,n, instance) request_irq(i,h,f,n, instance)
#define IRQ(irq, dev_id, pt_regs) (irq, dev_id, pt_regs)
+#define MAX_UNITS 8
+
MODULE_AUTHOR("Donald Becker <becker@scyld.com>");
MODULE_DESCRIPTION("3Com 3c515 Corkscrew driver");
MODULE_LICENSE("GPL");
MODULE_PARM(debug, "i");
-MODULE_PARM(options, "1-" __MODULE_STRING(8) "i");
+MODULE_PARM(options, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM(rx_copybreak, "i");
MODULE_PARM(max_interrupt_work, "i");
MODULE_PARM_DESC(debug, "3c515 debug level (0-6)");
@@ -421,7 +423,7 @@
*/
/* This driver uses 'options' to pass the media type, full-duplex flag, etc. */
/* Note: this is the only limit on the number of cards supported!! */
-static int options[8] = { -1, -1, -1, -1, -1, -1, -1, -1, };
+static int options[MAX_UNITS] = { -1, -1, -1, -1, -1, -1, -1, -1, };
#ifdef MODULE
static int debug = -1;
@@ -558,9 +560,10 @@
printk(KERN_INFO "3c515 Resource configuration register %#4.4x, DCR %4.4x.\n",
inl(ioaddr + 0x2002), inw(ioaddr + 0x2000));
irq = inw(ioaddr + 0x2002) & 15;
- corkscrew_found_device(dev, ioaddr, irq, CORKSCREW_ID, dev
- && dev->mem_start ? dev->
- mem_start : options[cards_found]);
+ corkscrew_found_device(dev, ioaddr, irq, CORKSCREW_ID,
+ dev && dev->mem_start ? dev->mem_start :
+ (cards_found >= MAX_UNITS ? -1 :
+ options[cards_found]));
dev = 0;
cards_found++;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)