diff options
| -rw-r--r-- | drivers/pci/bus.c | 6 | ||||
| -rw-r--r-- | include/linux/pci.h | 1 |
2 files changed, 6 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) | |||
| 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) |
| 149 | dev_err(&dev->dev, "Error registering pci_bus," | 151 | dev_err(&dev->dev, "Error registering pci_bus," |
| 150 | " continuing...\n"); | 152 | " continuing...\n"); |
| 151 | else | 153 | else { |
| 154 | child_bus->is_added = 1; | ||
| 152 | retval = device_create_file(&child_bus->dev, | 155 | retval = device_create_file(&child_bus->dev, |
| 153 | &dev_attr_cpuaffinity); | 156 | &dev_attr_cpuaffinity); |
| 157 | } | ||
| 154 | if (retval) | 158 | if (retval) |
| 155 | dev_err(&dev->dev, "Error creating cpuaffinity" | 159 | dev_err(&dev->dev, "Error creating cpuaffinity" |
| 156 | " file, continuing...\n"); | 160 | " file, continuing...\n"); |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 38eff1947750..9010f5458767 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -278,6 +278,7 @@ struct pci_bus { | |||
| 278 | struct device dev; | 278 | struct device dev; |
| 279 | struct bin_attribute *legacy_io; /* legacy I/O for this bus */ | 279 | struct bin_attribute *legacy_io; /* legacy I/O for this bus */ |
| 280 | struct bin_attribute *legacy_mem; /* legacy mem */ | 280 | struct bin_attribute *legacy_mem; /* legacy mem */ |
| 281 | unsigned int is_added:1; | ||
| 281 | }; | 282 | }; |
| 282 | 283 | ||
| 283 | #define pci_bus_b(n) list_entry(n, struct pci_bus, node) | 284 | #define pci_bus_b(n) list_entry(n, struct pci_bus, node) |
