diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-27 11:09:15 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-27 11:09:15 -0400 |
| commit | ff0972c26bbf209da6f6d244cce60e695df863f6 (patch) | |
| tree | 79db41583bf3847139ace7a6d1eff0266ea63bc2 /drivers/pci/setup-bus.c | |
| parent | a09fc446fb6d541281d9559fe7215d7c0d3cc9ce (diff) | |
| parent | c9d86d76c1cdd76d67292ab75643db66573ca7dd (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits)
pciehp - fix wrong return value
IA64: PCI: dont disable irq which is not enabled
acpiphp: add support for ioapic hot-remove
PCI: assign ioapic resource at hotplug
acpiphp: disable bridges
acpiphp: stop bus device before acpi_bus_trim
PCI: add pci_stop_bus_device
acpiphp: do not initialize existing ioapics
acpiphp: initialize ioapics before starting devices
acpiphp: set hpp values before starting devices
PCI Hotplug: cleanup pcihp skeleton code.
PCI: Restore PCI Express capability registers after PM event
PCI: drivers/pci/hotplug/acpiphp_glue.c: make a function static
PCI: Multiprobe sanitizer
PCI: fix __must_check warnings
PCI Hotplug: fix __must_check warnings
SHPCHP: fix __must_check warnings
PCI-Express AER implemetation: pcie_portdrv error handler
PCI-Express AER implemetation: AER core and aerdriver
PCI-Express AER implemetation: export pcie_port_bus_type
...
Diffstat (limited to 'drivers/pci/setup-bus.c')
| -rw-r--r-- | drivers/pci/setup-bus.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 47c1071ad84e..54404917be9a 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c | |||
| @@ -55,12 +55,19 @@ pbus_assign_resources_sorted(struct pci_bus *bus) | |||
| 55 | list_for_each_entry(dev, &bus->devices, bus_list) { | 55 | list_for_each_entry(dev, &bus->devices, bus_list) { |
| 56 | u16 class = dev->class >> 8; | 56 | u16 class = dev->class >> 8; |
| 57 | 57 | ||
| 58 | /* Don't touch classless devices or host bridges or ioapics. */ | 58 | /* Don't touch classless devices or host bridges. */ |
| 59 | if (class == PCI_CLASS_NOT_DEFINED || | 59 | if (class == PCI_CLASS_NOT_DEFINED || |
| 60 | class == PCI_CLASS_BRIDGE_HOST || | 60 | class == PCI_CLASS_BRIDGE_HOST) |
| 61 | class == PCI_CLASS_SYSTEM_PIC) | ||
| 62 | continue; | 61 | continue; |
| 63 | 62 | ||
| 63 | /* Don't touch ioapics if it has the assigned resources. */ | ||
| 64 | if (class == PCI_CLASS_SYSTEM_PIC) { | ||
| 65 | res = &dev->resource[0]; | ||
| 66 | if (res[0].start || res[1].start || res[2].start || | ||
| 67 | res[3].start || res[4].start || res[5].start) | ||
| 68 | continue; | ||
| 69 | } | ||
| 70 | |||
| 64 | pdev_sort_resources(dev, &head); | 71 | pdev_sort_resources(dev, &head); |
| 65 | } | 72 | } |
| 66 | 73 | ||
