diff options
Diffstat (limited to 'drivers/pci/bus.c')
-rw-r--r-- | drivers/pci/bus.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index ef5a6a245f5f..d708358326e5 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c | |||
@@ -143,15 +143,21 @@ void pci_bus_add_devices(struct pci_bus *bus) | |||
143 | /* register the bus with sysfs as the parent is now | 143 | /* register the bus with sysfs as the parent is now |
144 | * properly registered. */ | 144 | * properly registered. */ |
145 | child_bus = dev->subordinate; | 145 | child_bus = dev->subordinate; |
146 | if (child_bus->is_added) | ||
147 | continue; | ||
146 | child_bus->dev.parent = child_bus->bridge; | 148 | child_bus->dev.parent = child_bus->bridge; |
147 | retval = device_register(&child_bus->dev); | 149 | retval = device_register(&child_bus->dev); |
148 | if (!retval) | 150 | if (retval) |
151 | dev_err(&dev->dev, "Error registering pci_bus," | ||
152 | " continuing...\n"); | ||
153 | else { | ||
154 | child_bus->is_added = 1; | ||
149 | retval = device_create_file(&child_bus->dev, | 155 | retval = device_create_file(&child_bus->dev, |
150 | &dev_attr_cpuaffinity); | 156 | &dev_attr_cpuaffinity); |
157 | } | ||
151 | if (retval) | 158 | if (retval) |
152 | dev_err(&dev->dev, "Error registering pci_bus" | 159 | dev_err(&dev->dev, "Error creating cpuaffinity" |
153 | " device bridge symlink," | 160 | " file, continuing...\n"); |
154 | " continuing...\n"); | ||
155 | } | 161 | } |
156 | } | 162 | } |
157 | } | 163 | } |