linux/arch/x86/pci
Mika Westerberg c70d65052a x86 / PCI: prevent re-allocation of already existing bridge and ROM resources
In hotplug case (especially with Thunderbolt enabled systems) we might need
to call pcibios_resource_survey_bus() several times for a bus. The function
ends up calling pci_claim_resource() for each bridge resource that then
fails claiming that the resource exists already (which it does). Once this
happens the resource is invalidated thus preventing devices behind the
bridge to allocate their resources.

To fix this we do what has been done in pcibios_allocate_dev_resources()
and check 'parent' of the given resource. If it is non-NULL it means that
the resource has been allocated already and we can skip it. We do the same
for ROM resources as well.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-07-23 03:55:56 +02:00
..
acpi.c x86/PCI: Increase info->res_num before checking pci_use_crs 2013-05-28 11:09:16 -06:00
amd_bus.c x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
broadcom_bus.c x86/PCI: dynamically allocate pci_root_info for native host bridge drivers 2012-04-30 14:52:43 -06:00
bus_numa.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
bus_numa.h x86/PCI: put busn resource in pci_root_info for native host bridge drivers 2012-06-13 15:42:24 -06:00
ce4100.c x86/ce4100: Fix PCI configuration register access for devices without interrupts 2012-10-30 10:16:47 +01:00
common.c x86/PCI: Map PCI setup data with ioremap() so it can be in highmem 2013-06-05 10:50:04 -06:00
direct.c x86: constify PCI raw ops structures 2011-10-14 09:05:28 -07:00
early.c x86/PCI: remove early PCI pr_debug statements 2009-11-24 15:25:19 -08:00
fixup.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
i386.c x86 / PCI: prevent re-allocation of already existing bridge and ROM resources 2013-07-23 03:55:56 +02:00
init.c x86, olpc: Use pci subarch init for OLPC 2010-02-25 19:26:23 -08:00
irq.c x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs 2011-05-10 15:43:36 -07:00
legacy.c PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
Makefile x86/PCI: Add NumaChip remote PCI support 2012-12-07 14:24:32 -07:00
mmconfig_32.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
mmconfig_64.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
mmconfig-shared.c x86, uv, uv3: Update ACPI Check to include SGI UV3 2013-02-11 17:17:44 -08:00
mrst.c Revert "x86/pci/mrst: Use configuration mechanism 1 for 00:00.0, 00:02.0, 00:03.0" 2013-05-20 10:20:21 -06:00
numachip.c x86/PCI: Add NumaChip remote PCI support 2012-12-07 14:24:32 -07:00
numaq_32.c PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
olpc.c x86: constify PCI raw ops structures 2011-10-14 09:05:28 -07:00
pcbios.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
sta2x11-fixup.c x86, platform: Initial support for sta2x11 I/O hub 2012-04-12 11:10:30 -07:00
visws.c PCI: Provide a default pcibios_update_irq() 2012-09-18 17:28:21 -06:00
xen.c xen/pci: Used cached MSI-X capability offset 2013-05-10 09:10:38 -04:00