Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "x86/ioapic: Restore IO-APIC irq_chip retrigger callback"

This reverts commit 020eb3daaba2857b32c4cf4c82f503d6a00a67de.

Gabriel C reports that it causes his machine to not boot, and we haven't
tracked down the reason for it yet. Since the bug it fixes has been
around for a longish time, we're better off reverting the fix for now.

Gabriel says:
"It hangs early and freezes with a lot RCU warnings.

I bisected it down to :

> Ruslan Ruslichenko (1):
> x86/ioapic: Restore IO-APIC irq_chip retrigger callback

Reverting this one fixes the problem for me..

The box is a PRIMERGY TX200 S5 , 2 socket , 2 x E5520 CPU(s) installed"

and Ruslan and Thomas are currently stumped.

Reported-and-bisected-by: Gabriel C <nix.or.die@gmail.com>
Cc: Ruslan Ruslichenko <rruslich@cisco.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@kernel.org # for the backport of the original commit
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

-2
-2
arch/x86/kernel/apic/io_apic.c
··· 1875 1875 .irq_ack = irq_chip_ack_parent, 1876 1876 .irq_eoi = ioapic_ack_level, 1877 1877 .irq_set_affinity = ioapic_set_affinity, 1878 - .irq_retrigger = irq_chip_retrigger_hierarchy, 1879 1878 .flags = IRQCHIP_SKIP_SET_WAKE, 1880 1879 }; 1881 1880 ··· 1886 1887 .irq_ack = irq_chip_ack_parent, 1887 1888 .irq_eoi = ioapic_ir_ack_level, 1888 1889 .irq_set_affinity = ioapic_set_affinity, 1889 - .irq_retrigger = irq_chip_retrigger_hierarchy, 1890 1890 .flags = IRQCHIP_SKIP_SET_WAKE, 1891 1891 }; 1892 1892