Re: [Bugfix 1/2] x86/PCI/ACPI: Ignore resources consumed by host bridge itself

Rafael J. Wysocki
2015-03-04T14:01:43Z

On Wednesday, March 04, 2015 04:47:11 PM Jiang Liu wrote:
> When parsing resources for PCI host bridge, we should ignore resources
> consumed by host bridge itself and only report window resources available
> to child PCI busses.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>

Queued up for 4.0-rc3, thanks!

> ---
> arch/x86/pci/acpi.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
> index 6ac273832f28..e4695985f9de 100644
> --- a/arch/x86/pci/acpi.c
> +++ b/arch/x86/pci/acpi.c
> @@ -331,7 +331,7 @@ static void probe_pci_root_info(struct pci_root_info *info,
> struct list_head *list)
> {
> int ret;
> - struct resource_entry *entry;
> + struct resource_entry *entry, *tmp;
>
> sprintf(info->name, "PCI Bus %04x:%02x", domain, busnum);
> info->bridge = device;
> @@ -345,8 +345,13 @@ static void probe_pci_root_info(struct pci_root_info *info,
> dev_dbg(&device->dev,
> "no IO and memory resources present in _CRS\n");
> else
> - resource_list_for_each_entry(entry, list)
> - entry->res->name = info->name;
> + resource_list_for_each_entry_safe(entry, tmp, list) {
> + if ((entry->res->flags & IORESOURCE_WINDOW) == 0 ||
> + (entry->res->flags & IORESOURCE_DISABLED))
> + resource_list_destroy_entry(entry);
> + else
> + entry->res->name = info->name;
> + }
> }
>
> struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.