diff options
author | Alex Chiang <achiang@hp.com> | 2009-03-20 14:56:15 -0600 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-03-20 14:57:32 -0700 |
commit | b73e97d95c168cbc19bd1208c894077f25931ba1 (patch) | |
tree | 325b8ecf3358c9980f398166ec6d778c7dc32370 /drivers/pci | |
parent | 74710ded8e16fc8dacbb702a5bac1a493d88549a (diff) | |
download | blackbird-op-linux-b73e97d95c168cbc19bd1208c894077f25931ba1.tar.gz blackbird-op-linux-b73e97d95c168cbc19bd1208c894077f25931ba1.zip |
PCI: do not initialize bridges more than once
In preparation for PCI core hotplug, we need to ensure that we do
not attempt to re-initialize bridges that have already been initialized.
We only need to worry about non-root buses, since we will not allow
root bus removal.
Reported-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/setup-bus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 170a3eda9dd3..334285a8e237 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -144,6 +144,9 @@ static void pci_setup_bridge(struct pci_bus *bus) struct pci_bus_region region; u32 l, bu, lu, io_upper16; + if (!pci_is_root_bus(bus) && bus->is_added) + return; + dev_info(&bridge->dev, "PCI bridge, secondary bus %04x:%02x\n", pci_domain_nr(bus), bus->number); |