From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qc0-f174.google.com ([209.85.216.174]:37603 "EHLO mail-qc0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753833Ab2FTUEr (ORCPT ); Wed, 20 Jun 2012 16:04:47 -0400 MIME-Version: 1.0 In-Reply-To: <20120620193438.GB2248@gmail.com> References: <20120620193438.GB2248@gmail.com> From: Ulrich Drepper Date: Wed, 20 Jun 2012 16:04:26 -0400 Message-ID: Subject: Re: SNB PCI root information To: Ingo Molnar Cc: Yinghai Lu , Bjorn Helgaas , jbarnes@virtuousgeek.org, Linux Kernel Mailing List , lenb@kernel.org, x86@kernel.org, linux-pci@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-pci-owner@vger.kernel.org List-ID: On Wed, Jun 20, 2012 at 3:34 PM, Ingo Molnar wrote: > I mean, if we create a parameter space that tweaks data then why > not make it complete and allow *all* firmware data to be > (optionally) modified, from the kernel boot line? If there is proof that BIOSes get it wrong then just use this small additional patch: Signed-off-by: Ulrich Drepper diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index fc09c27..7aceb84 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c @@ -387,16 +387,16 @@ struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_pci_root *root) return NULL; } - node = -1; + node = get_mp_bus_to_node(busnum); #ifdef CONFIG_ACPI_NUMA - pxm = acpi_get_pxm(device->handle); - if (pxm >= 0) - node = pxm_to_node(pxm); - if (node != -1) - set_mp_bus_to_node(busnum, node); - else + if (node == -1) { + pxm = acpi_get_pxm(device->handle); + if (pxm >= 0) + node = pxm_to_node(pxm); + if (node != -1) + set_mp_bus_to_node(busnum, node); + } #endif - node = get_mp_bus_to_node(busnum); if (node != -1 && !node_online(node)) node = -1;