via-rhine patch

jan@gondor.com
Wed, 5 May 1999 16:28:26 +0200


The via-rhine network driver (as well as other network drivers derived
from the same driver skeleton) has a bug in its io memory probing. The
only impact seems to be that the driver cannot be loaded if the memory
directly following the network card's memory has been allocated before.

This is trigered on one of my computers by a second via-rhine-card: One
card works perfectly, but the other one cannot be initialized.

The following patch is based on a patch written by me and slightly
modified by the drivers author, Donald Becker. He has this patch for
two months and has integrated it into the via-rhine.c on his web page.
I don't know why it didn't get integrated into the official kernel.

Jan

--- linux/drivers/net/via-rhine.c.orig Tue Mar 9 22:44:42 1999
+++ linux/drivers/net/via-rhine.c Tue Mar 9 22:45:36 1999
@@ -456,9 +456,9 @@
pci_tbl[chip_idx].name, pciaddr, irq);

if (pci_tbl[chip_idx].flags & PCI_USES_IO) {
- if (check_region(pciaddr, pci_tbl[chip_idx].io_size))
- continue;
ioaddr = pciaddr & ~3;
+ if (check_region(ioaddr, pci_tbl[chip_idx].io_size))
+ continue;
} else if ((ioaddr = (long)ioremap(pciaddr & ~0xf,
pci_tbl[chip_idx].io_size)) == 0) {
printk(KERN_INFO "Failed to map PCI address %#lx.\n",

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/