[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <YfQpy5yGGqY8T0wW@jupiter.dyndns.org>
Date: Fri, 28 Jan 2022 17:37:15 +0000
From: Brent Spillner <spillner@....org>
To: bhelgaas@...gle.com, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, x86@...nel.org,
hpa@...or.com, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] arch:x86:pci:irq.c: Improve log message when IRQ cannot be
identified
The existing code always suggests trying the pci=biosirq kernel
parameter, but this option is only recognized when CONFIG_PCI_BIOS is
set, which in turn depends on CONFIG_X86_32, so it is never appropriate
on x86_64.
The new version tries to form a more useful message when pci=biosirq is
not available, including by suggesting different acpi= options if
appropriate (probably the most common cause of failed IRQ discovery).
See arch/x86/pci/common.c:535 for the interpretation of pci=biosirq, and
arch/x86/Kconfig:2633 for the dependencies of CONFIG_PCI_BIOS.
Signed-off-by: Brent Spillner <spillner@....org>
---
arch/x86/pci/irq.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
index 97b63e35e152..bc4aaaa74832 100644
--- a/arch/x86/pci/irq.c
+++ b/arch/x86/pci/irq.c
@@ -1522,7 +1522,21 @@ static int pirq_enable_irq(struct pci_dev *dev)
} else if (pci_probe & PCI_BIOS_IRQ_SCAN)
msg = "";
else
+#ifdef CONFIG_PCI_BIOS
msg = "; please try using pci=biosirq";
+#else
+ /* pci=biosirq is not a valid option */
+#ifdef CONFIG_ACPI
+ if (acpi_noirq)
+ msg = "; consider removing acpi=noirq";
+ else
+#endif
+ msg = "; recommend verifying UEFI/BIOS IRQ options"
+#ifndef CONFIG_ACPI
+ " or enabling ACPI"
+#endif
+ ;
+#endif
/*
* With IDE legacy devices the IRQ lookup failure is not
--
2.34.1
Powered by blists - more mailing lists