diff options
| author | Natalie Protasevich <natalie.protasevich@unisys.com> | 2004-10-18 18:11:32 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-10-18 18:11:32 -0700 |
| commit | 357dd96aa0be69821a615ae7aeade1903ad5f4c3 (patch) | |
| tree | c8aee8cbe9aea08e188abff3f2255632f6a14c09 /include | |
| parent | f5b3f8e976849c706b0fd1f001356268f2fdaa2d (diff) | |
[PATCH] Incorrect PCI interrupt assignment on ES7000 for platform GSI
In arch/i386/kernel/acpi/boot.c, platform GSI does not propagate back from
mp_register_gsi() to a calling routine which results in IRQ to be set for
wrong GSI. This causes most of the PCI slots on the first PCI module to
fail. This patch fixes the problem by returning new GSI back to
acpi_register_gsi().
Signed-off-by: Natalie Protasevich <Natalie.Protasevich@unisys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/mpspec.h | 2 | ||||
| -rw-r--r-- | include/asm-x86_64/mpspec.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-i386/mpspec.h b/include/asm-i386/mpspec.h index 8170e019af8d..e96814d75bae 100644 --- a/include/asm-i386/mpspec.h +++ b/include/asm-i386/mpspec.h @@ -33,7 +33,7 @@ extern void mp_register_lapic_address (u64 address); extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base); extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); extern void mp_config_acpi_legacy_irqs (void); -extern void mp_register_gsi (u32 gsi, int edge_level, int active_high_low); +extern int mp_register_gsi (u32 gsi, int edge_level, int active_high_low); #endif /*CONFIG_ACPI_BOOT*/ #define PHYSID_ARRAY_SIZE BITS_TO_LONGS(MAX_APICS) diff --git a/include/asm-x86_64/mpspec.h b/include/asm-x86_64/mpspec.h index 98aa63e6bab6..89ba26806b7a 100644 --- a/include/asm-x86_64/mpspec.h +++ b/include/asm-x86_64/mpspec.h @@ -188,7 +188,7 @@ extern void mp_register_lapic_address (u64 address); extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base); extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); extern void mp_config_acpi_legacy_irqs (void); -extern void mp_register_gsi (u32 gsi, int edge_level, int active_high_low); +extern int mp_register_gsi (u32 gsi, int edge_level, int active_high_low); #endif /*CONFIG_X86_IO_APIC*/ #endif |
