From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arthur Marsh Subject: Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245 Date: Wed, 25 Nov 2015 20:42:55 +1030 Message-ID: <565589A7.50104@internode.on.net> References: <1447648057-13644-1-git-send-email-jiang.liu@linux.intel.com> <20151124164907.GA24819@localhost> <20151124230413.GA11608@localhost.localdomain> <5655019C.7070700@internode.on.net> <565570E5.5080906@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <565570E5.5080906@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org To: Jiang Liu , Keith Busch , "Rafael J. Wysocki" Cc: Bjorn Helgaas , "Rafael J . Wysocki" , Bjorn Helgaas , Linux Kernel Mailing List , Linux PCI , ACPI Devel Maling List , x86@kernel.org List-Id: linux-acpi@vger.kernel.org Jiang Liu wrote on 25/11/15 18:57: > Hi Arthur, > Thanks for reminder again! > It's a little strange, the formal patch "[Bugfix] x86/PCI: Fix > regression caused by commit 4d6b4e69a245" is based on the debug patch > I sent to you at 9 November 2015. > Could you please help to try the attached patch again? > Thanks, > Gerry OK, I'm booting alright now with git diff reporting the following (just the patch that Jiang Liu posted in the parent): diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c index 7bcf06a..6eb3c8a 100644 --- a/arch/x86/pci/bus_numa.c +++ b/arch/x86/pci/bus_numa.c @@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) if (!found) pci_add_resource(resources, &info->busn); - list_for_each_entry(root_res, &info->resources, list) { - struct resource *res; - struct resource *root; + list_for_each_entry(root_res, &info->resources, list) + pci_add_resource(resources, &root_res->res); - res = &root_res->res; - pci_add_resource(resources, res); - if (res->flags & IORESOURCE_IO) - root = &ioport_resource; - else - root = &iomem_resource; - insert_resource(root, res); - } return; default_resources: diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 850d7bf..ae3fe4e 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info) else continue; + /* + * Some legacy x86 host bridge drivers use iomem_resource and + * ioport_resource as default resource pool, skip it. + */ + if (res == root) + continue; + conflict = insert_resource_conflict(root, res); if (conflict) { dev_info(&info->bridge->dev, #### There have been at least two gcc-5 updates on this machine since originally reporting the problem so that may have affected results. Thanks to all for help with this. Arthur.