patch-2.0.37 linux/drivers/net/lance.c
Next file: linux/drivers/net/ne.c
Previous file: linux/drivers/net/eth16i.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Sun Jun 13 10:21:01 1999
- Orig file:
v2.0.36/linux/drivers/net/lance.c
- Orig date:
Sun Nov 15 21:51:46 1998
diff -u --recursive --new-file v2.0.36/linux/drivers/net/lance.c linux/drivers/net/lance.c
@@ -334,14 +334,17 @@
dev->base_addr = io[this_dev];
dev->dma = dma[this_dev];
dev->init = lance_probe;
+#if NO_AUTOPROBE_MODULE
if (io[this_dev] == 0) {
if (this_dev != 0) break; /* only complain once */
printk(KERN_NOTICE "lance.c: Module autoprobing not allowed. Append \"io=0xNNN\" value(s).\n");
return -EPERM;
}
+#endif
if (register_netdev(dev) != 0) {
- printk(KERN_WARNING "lance.c: No PCnet/LANCE card found (i/o = 0x%x).\n", io[this_dev]);
- if (found != 0) return 0; /* Got at least one. */
+ if (found != 0)
+ return 0; /* Got at least one. */
+ printk(KERN_WARNING "lance.c: No PCnet/LANCE card found\n");
return -ENXIO;
}
found++;
@@ -350,8 +353,7 @@
return 0;
}
-void
-cleanup_module(void)
+void cleanup_module(void)
{
int this_dev;
@@ -390,15 +392,21 @@
unsigned short pci_command;
if (pcibios_find_device (PCI_VENDOR_ID_AMD,
- PCI_DEVICE_ID_AMD_LANCE, pci_index,
- &pci_bus, &pci_device_fn) != 0)
+ PCI_DEVICE_ID_AMD_LANCE, pci_index,
+ &pci_bus, &pci_device_fn) != 0)
break;
pcibios_read_config_byte(pci_bus, pci_device_fn,
- PCI_INTERRUPT_LINE, &pci_irq_line);
+ PCI_INTERRUPT_LINE, &pci_irq_line);
pcibios_read_config_dword(pci_bus, pci_device_fn,
- PCI_BASE_ADDRESS_0, &pci_ioaddr);
+ PCI_BASE_ADDRESS_0, &pci_ioaddr);
/* Remove I/O space marker in bit 0. */
pci_ioaddr &= ~3;
+
+ /* Avoid already found cards from previous calls
+ */
+ if (check_region(pci_ioaddr, LANCE_TOTAL_SIZE))
+ continue;
+
/* PCI Spec 2.1 states that it is either the driver or PCI card's
* responsibility to set the PCI Master Enable Bit if needed.
* (From Mark Stockton <marks@schooner.sys.hou.compaq.com>)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov