Commit ba646b39 authored by Ivan Kokshaysky's avatar Ivan Kokshaysky Committed by Richard Henderson

[PATCH] alpha pcibios_claim_console_setup fix

pcibios_claim_console_setup() doesn't look behind PCI-PCI bridges.

Noticed by Anton Blanchard.

Ivan.
parent b65594fd
...@@ -393,13 +393,10 @@ pcibios_set_master(struct pci_dev *dev) ...@@ -393,13 +393,10 @@ pcibios_set_master(struct pci_dev *dev)
} }
static void __init static void __init
pcibios_claim_console_setup(void) pcibios_claim_one_bus(struct pci_bus *b)
{ {
struct list_head *lb;
for(lb = pci_root_buses.next; lb != &pci_root_buses; lb = lb->next) {
struct pci_bus *b = pci_bus_b(lb);
struct list_head *ld; struct list_head *ld;
struct pci_bus *child_bus;
for (ld = b->devices.next; ld != &b->devices; ld = ld->next) { for (ld = b->devices.next; ld != &b->devices; ld = ld->next) {
struct pci_dev *dev = pci_dev_b(ld); struct pci_dev *dev = pci_dev_b(ld);
...@@ -413,6 +410,19 @@ pcibios_claim_console_setup(void) ...@@ -413,6 +410,19 @@ pcibios_claim_console_setup(void)
pci_claim_resource(dev, i); pci_claim_resource(dev, i);
} }
} }
list_for_each_entry(child_bus, &b->children, node)
pcibios_claim_one_bus(child_bus);
}
static void __init
pcibios_claim_console_setup(void)
{
struct list_head *lb;
for(lb = pci_root_buses.next; lb != &pci_root_buses; lb = lb->next) {
struct pci_bus *b = pci_bus_b(lb);
pcibios_claim_one_bus(b);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment