1
linux/drivers/pci
Linus Torvalds 79896cf42f Make pci_claim_resource() use request_resource() rather than insert_resource()
This function has traditionally used "insert_resource()", because before
commit cebd78a8c5 ("Fix pci_claim_resource") it used to just insert the
resource into whatever root resource tree that was indicated by
"pcibios_select_root()".

So there Matthew fixed it to actually look up the proper parent
resource, which means that now it's actively wrong to then traverse the
resource tree any more: we already know exactly where the new resource
should go.

And when we then did commit a76117dfd6 ("x86: Use pci_claim_resource"),
which changed the x86 PCI code from the open-coded

	pr = pci_find_parent_resource(dev, r);
	if (!pr || request_resource(pr, r) < 0) {

to using

	if (pci_claim_resource(dev, idx) < 0) {

that "insert_resource()" now suddenly became a problem, and causes a
regression covered by

	http://bugzilla.kernel.org/show_bug.cgi?id=13891

which this fixes.

Reported-and-tested-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Matthew Wilcox <willy@linux.intel.com>
Cc: Andrew Patterson <andrew.patterson@hp.com>
Cc: Linux PCI <linux-pci@vger.kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-08-02 14:10:18 -07:00
..
hotplug headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
pcie PCI ECRC: Remove unnecessary semicolons 2009-06-29 12:10:35 -07:00
.gitignore
access.c PCI: Add pci_bus_set_ops 2009-06-16 14:29:33 -07:00
bus.c PCI AER: support Multiple Error Received and no error source id 2009-06-16 14:30:13 -07:00
dmar.c VT-d: add device IOTLB invalidation support 2009-05-18 14:45:13 +01:00
hotplug-pci.c
hotplug.c
htirq.c Merge branch 'x86/apic' into irq/numa 2009-05-12 12:17:36 +02:00
intel-iommu.c intel-iommu: Fix intel_iommu_unmap_range() with size 0 2009-07-08 09:35:10 -07:00
intr_remapping.c Intel-IOMMU, intr-remap: source-id checking 2009-06-23 22:09:17 +01:00
intr_remapping.h Intel-IOMMU, intr-remap: source-id checking 2009-06-23 22:09:17 +01:00
iov.c Merge git://git.infradead.org/~dwmw2/iommu-2.6.31 2009-06-22 21:38:22 -07:00
iova.c Fix iommu address space allocation 2009-07-01 11:19:29 -07:00
irq.c
Kconfig PCI: initialize and release SR-IOV capability 2009-03-20 10:48:22 -07:00
Makefile Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-06-22 11:59:51 -07:00
msi.c PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume 2009-06-29 12:18:13 -07:00
msi.h PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names 2009-06-29 12:15:19 -07:00
pci-acpi.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
pci-driver.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-04-05 10:33:07 -07:00
pci-stub.c
pci-sysfs.c docbooks: add/fix PCI kernel-doc 2009-04-22 14:49:33 -07:00
pci.c PCI: Fix IRQ swizzling for ARI-enabled devices 2009-07-01 14:24:30 -07:00
pci.h PCI: handle Virtual Function ATS enabling 2009-05-18 11:25:58 +01:00
probe.c PCI: use pci_is_root_bus() in pci_read_bridge_bases() 2009-06-16 14:29:31 -07:00
proc.c
quirks.c PCI: More PATA quirks for not entering D3 2009-06-29 12:14:04 -07:00
remove.c PCI: eliminate redundant pci_stop_dev() call from pci_destroy_dev() 2009-06-11 12:04:19 -07:00
rom.c
search.c PCI: use pci_is_root_bus() in pci_find_upstream_pcie_bridge() 2009-06-16 14:29:30 -07:00
setup-bus.c PCI: improve resource allocation under transparent bridges 2009-06-11 12:04:07 -07:00
setup-irq.c
setup-res.c Make pci_claim_resource() use request_resource() rather than insert_resource() 2009-08-02 14:10:18 -07:00
slot.c PCI: fix kernel-doc warnings 2009-06-29 12:13:56 -07:00
syscall.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00