diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-13 13:16:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-13 13:16:22 -0700 |
commit | ebe168d52c6255cfaf701b488e9e9ed0f548da19 (patch) | |
tree | 7f81320e09983d749bc38047857563f7fd269480 /drivers/pci | |
parent | b15a3891c916f32a29832886a053a48be2741d4d (diff) | |
parent | cc74d96f47b0d916840f92092595e3be9731e047 (diff) | |
download | op-kernel-dev-ebe168d52c6255cfaf701b488e9e9ed0f548da19.zip op-kernel-dev-ebe168d52c6255cfaf701b488e9e9ed0f548da19.tar.gz |
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/pci')
-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 6a9403d..d708358 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"); |