Skip to content

Commit

Permalink
x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not en…
Browse files Browse the repository at this point in the history
…abled

Len expressed concern that the update_mptable feature has
side-effects on the ACPI code.

Make it sure explicitly that the code only ever gets called if
the (default disabled) update_mptable boot quirk option is
disabled.

[ Impact: isolate the update_mptable feature from ACPI code more ]

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Len Brown <lenb@kernel.org>
LKML-Reference: <4A0DC832.5090200@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed May 18, 2009
1 parent 629e15d commit f1bdb52
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
9 changes: 9 additions & 0 deletions arch/x86/include/asm/mpspec.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,15 @@ static inline int acpi_probe_gsi(void)
}
#endif /* CONFIG_ACPI */

#ifdef CONFIG_X86_MPPARSE
extern int enable_update_mptable;
#else
static inline int enable_update_mptable(void)
{
return 0;
}
#endif

#define PHYSID_ARRAY_SIZE BITS_TO_LONGS(MAX_APICS)

struct physid_mask {
Expand Down
4 changes: 3 additions & 1 deletion arch/x86/kernel/acpi/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -1226,7 +1226,9 @@ int mp_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
ioapic_pin);
return gsi;
}
mp_config_acpi_gsi(dev, gsi, trigger, polarity);

if (enable_update_mptable)
mp_config_acpi_gsi(dev, gsi, trigger, polarity);

set_io_apic_irq_attr(&irq_attr, ioapic, ioapic_pin,
trigger == ACPI_EDGE_SENSITIVE ? 0 : 1,
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/mpparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -957,7 +957,7 @@ static int __init replace_intsrc_all(struct mpc_table *mpc,
return 0;
}

static int __initdata enable_update_mptable;
int enable_update_mptable;

static int __init update_mptable_setup(char *str)
{
Expand Down

0 comments on commit f1bdb52

Please sign in to comment.