Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1bdb523 authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled



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: default avatarYinghai Lu <yinghai@kernel.org>
Cc: Len Brown <lenb@kernel.org>
LKML-Reference: <4A0DC832.5090200@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 629e15d2
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -87,6 +87,15 @@ static inline int acpi_probe_gsi(void)
}
}
#endif /* CONFIG_ACPI */
#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)
#define PHYSID_ARRAY_SIZE	BITS_TO_LONGS(MAX_APICS)


struct physid_mask {
struct physid_mask {
+3 −1
Original line number Original line Diff line number Diff line
@@ -1226,6 +1226,8 @@ int mp_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
		       ioapic_pin);
		       ioapic_pin);
		return gsi;
		return gsi;
	}
	}

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


	set_io_apic_irq_attr(&irq_attr, ioapic, ioapic_pin,
	set_io_apic_irq_attr(&irq_attr, ioapic, ioapic_pin,
+1 −1
Original line number Original line Diff line number Diff line
@@ -957,7 +957,7 @@ static int __init replace_intsrc_all(struct mpc_table *mpc,
	return 0;
	return 0;
}
}


static int __initdata enable_update_mptable;
int enable_update_mptable;


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