diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-13 21:16:22 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-13 21:16:22 +0100 |
commit | ebe168d52c6255cfaf701b488e9e9ed0f548da19 (patch) | |
tree | 7f81320e09983d749bc38047857563f7fd269480 /drivers | |
parent | avoid endless loops in lib/swiotlb.c (diff) | |
parent | PCI: fix issue with busses registering multiple times in sysfs (diff) | |
download | linux-ebe168d52c6255cfaf701b488e9e9ed0f548da19.tar.xz linux-ebe168d52c6255cfaf701b488e9e9ed0f548da19.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:
PCI: fix issue with busses registering multiple times in sysfs
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/bus.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index 6a9403d79e0c..d708358326e5 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -143,14 +143,18 @@ void pci_bus_add_devices(struct pci_bus *bus) /* register the bus with sysfs as the parent is now * properly registered. */ child_bus = dev->subordinate; + if (child_bus->is_added) + continue; child_bus->dev.parent = child_bus->bridge; retval = device_register(&child_bus->dev); if (retval) dev_err(&dev->dev, "Error registering pci_bus," " continuing...\n"); - else + else { + child_bus->is_added = 1; retval = device_create_file(&child_bus->dev, &dev_attr_cpuaffinity); + } if (retval) dev_err(&dev->dev, "Error creating cpuaffinity" " file, continuing...\n"); |