Re: [PROBLEM] D-Link DFE-580TX: Only 3 Ports working

From: Ivan Kokshaysky (ink@jurassic.park.msu.ru)
Date: Mon Nov 25 2002 - 12:18:03 EST


On Mon, Nov 25, 2002 at 04:11:49PM +0100, Richard Mueller wrote:
> eth5: D-Link DFE-580TX 4 port Server Adapter at 0xbe00, 00:00:00:00:00:00, IRQ 20.
                                                    ^^^^
It's clear BIOS bug. All four controllers are sitting behind PCI-to-PCI
bridge which blocks IO access to the ranges 0xb100-0xb3ff, 0xb500-0xb7ff,
0xb900-0xbbff and 0xbd00-0xbfff due to PCI_BRIDGE_CTL_NO_ISA mode.

Does this patch help?

Ivan.

--- linux/arch/i386/kernel/pci-i386.c~ Thu Nov 21 20:34:54 2002
+++ linux/arch/i386/kernel/pci-i386.c Mon Nov 25 20:04:38 2002
@@ -223,9 +223,19 @@ static void __init pcibios_allocate_reso
                                 continue;
                         if (!r->start) /* Address not assigned at all */
                                 continue;
- if (r->flags & IORESOURCE_IO)
+ if (r->flags & IORESOURCE_IO) {
                                 disabled = !(command & PCI_COMMAND_IO);
- else
+ if ((r->start & 0x300) && r->start > 0x400) {
+ printk(KERN_ERR "PCI: bad alignment "
+ "of IO region %d [%04lx] of "
+ "device %s\n",
+ idx, r->start, dev->slot_name);
+ /* We'll assign a new address later */
+ r->end -= r->start;
+ r->start = 0;
+ continue;
+ }
+ } else
                                 disabled = !(command & PCI_COMMAND_MEMORY);
                         if (pass == disabled) {
                                 DBG("PCI: Resource %08lx-%08lx (f=%lx, d=%d, p=%d)\n",
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 30 2002 - 22:00:11 EST