Re: [SOLVED] Re: 2.6.13-rc2 hangs at boot

From: Ivan Kokshaysky
Date: Tue Jul 12 2005 - 08:49:33 EST


On Fri, Jul 08, 2005 at 03:54:00PM +0200, Mikael Pettersson wrote:
> Same here: 2.6.13-rc2 vanilla and 2.6.13-rc2 + patch #2 above both hang,
> but 2.6.13-rc2 + patch #1 boots fine.

I suspect that those larger (4K) cardbus IO windows are clashing with
some legacy IO ports. If so, this could be avoided by setting ISAEN
bridge control bit.
It would be interesting to see whether the patch below works or not...

Ivan.

--- 2.6.13-rc2-git4/drivers/pci/setup-bus.c Tue Jul 12 16:11:19 2005
+++ linux/drivers/pci/setup-bus.c Tue Jul 12 16:43:33 2005
@@ -88,6 +88,7 @@ pci_setup_cardbus(struct pci_bus *bus)
{
struct pci_dev *bridge = bus->self;
struct pci_bus_region region;
+ u16 ctrl;

printk("PCI: Bus %d, cardbus bridge: %s\n",
bus->number, pci_name(bridge));
@@ -135,6 +136,12 @@ pci_setup_cardbus(struct pci_bus *bus)
pci_write_config_dword(bridge, PCI_CB_MEMORY_LIMIT_1,
region.end);
}
+
+ /* Disable legacy ISA IO port forwarding, as we do
+ for PCI-to-PCI bridges. */
+ pci_read_config_word(bridge, PCI_CB_BRIDGE_CONTROL, &ctrl);
+ ctrl |= PCI_CB_BRIDGE_CTL_ISA;
+ pci_write_config_word(bridge, PCI_CB_BRIDGE_CONTROL, ctrl);
}

/* Initialize bridges with base/limit values we have collected.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/