[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170627205952.GC764@bhelgaas-glaptop.roam.corp.google.com>
Date: Tue, 27 Jun 2017 15:59:53 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Peter Anvin <hpa@...or.com>, Borislav Petkov <bp@...en8.de>,
Peter Zijlstra <peterz@...radead.org>,
Stephane Eranian <eranian@...gle.com>,
Andi Kleen <ak@...ux.intel.com>, linux-pci@...r.kernel.org
Subject: Re: [patch 2/7] x86/pci: Abort if legacy init fails
[+cc linux-pci]
s|x86/pci: |x86/PCI: | for these three, to follow previous convention.
On Thu, Mar 16, 2017 at 10:50:04PM +0100, Thomas Gleixner wrote:
> If the legacy pci init fails, then there are no pci config space accesors
> available, but the code continues and tries to scan the busses, which fails
> due to the lack of config space accessors.
s/pci/PCI/ above.
> Return right away, if the last init fallback fails.
>
> Switch the few printks to pr_info while at it.
>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> ---
> arch/x86/pci/legacy.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> --- a/arch/x86/pci/legacy.c
> +++ b/arch/x86/pci/legacy.c
> @@ -24,12 +24,10 @@ static void pcibios_fixup_peer_bridges(v
>
> int __init pci_legacy_init(void)
> {
> - if (!raw_pci_ops) {
> - printk("PCI: System does not support PCI\n");
> - return 0;
> - }
> + if (!raw_pci_ops)
> + return 1;
>
> - printk("PCI: Probing PCI hardware\n");
> + pr_info("PCI: Probing PCI hardware\n");
> pcibios_scan_root(0);
> return 0;
> }
> @@ -46,7 +44,7 @@ void pcibios_scan_specific_bus(int busn)
> if (!raw_pci_read(0, busn, devfn, PCI_VENDOR_ID, 2, &l) &&
> l != 0x0000 && l != 0xffff) {
> DBG("Found device at %02x:%02x [%04x]\n", busn, devfn, l);
> - printk(KERN_INFO "PCI: Discovered peer bus %02x\n", busn);
> + pr_info("PCI: Discovered peer bus %02x\n", busn);
> pcibios_scan_root(busn);
> return;
> }
> @@ -60,8 +58,12 @@ static int __init pci_subsys_init(void)
> * The init function returns an non zero value when
> * pci_legacy_init should be invoked.
> */
> - if (x86_init.pci.init())
> - pci_legacy_init();
> + if (x86_init.pci.init()) {
> + if (pci_legacy_init()) {
> + pr_info("PCI: System does not support PCI\n");
> + return -ENODEV;
> + }
> + }
>
> pcibios_fixup_peer_bridges();
> x86_init.pci.init_irq();
>
>
Powered by blists - more mailing lists