aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2013-02-21 09:12:23 -0700
committerKevin O'Connor <kevin@koconnor.net>2013-02-21 19:31:20 -0500
commitdbb7a66f47f443187a877ab4a985e9acb17b79ce (patch)
treef69b06f9e31affbc8427207ca3ff7a86b5c4cb19
parentb94904082d66673940ee0d3714633e836f145f19 (diff)
downloadseabios-dbb7a66f47f443187a877ab4a985e9acb17b79ce.tar.gz
seabios: Add a dummy PCI slot to irq mapping function
This should never get called, but if we somehow get a new chipset that fails to implement their own pci_slot_get_irq function, fail gracefully and add a debug log message. Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r--src/pciinit.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/pciinit.c b/src/pciinit.c
index bad2448..ce0a4cc 100644
--- a/src/pciinit.c
+++ b/src/pciinit.c
@@ -91,7 +91,15 @@ const u8 pci_irqs[4] = {
10, 10, 11, 11
};
-static int (*pci_slot_get_irq)(struct pci_device *pci, int pin);
+static int dummy_pci_slot_get_irq(struct pci_device *pci, int pin)
+{
+ dprintf(1, "pci_slot_get_irq called with unknown routing\n");
+
+ return 0xff; /* PCI defined "unknown" or "no connection" for x86 */
+}
+
+static int (*pci_slot_get_irq)(struct pci_device *pci, int pin) =
+ dummy_pci_slot_get_irq;
// Return the global irq number corresponding to a host bus device irq pin.
static int piix_pci_slot_get_irq(struct pci_device *pci, int pin)