Skip to content

Commit 020eb3d

Browse files
Ruslan RuslichenkoKAGA-KOKO
authored andcommitted
x86/ioapic: Restore IO-APIC irq_chip retrigger callback
commit d32932d removed the irq_retrigger callback from the IO-APIC chip and did not add it to the new IO-APIC-IR irq chip. Unfortunately the software resend fallback is not enabled on X86, so edge interrupts which are received during the lazy disabled state of the interrupt line are not retriggered and therefor lost. Restore the callbacks. [ tglx: Massaged changelog ] Fixes: d32932d ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") Signed-off-by: Ruslan Ruslichenko <[email protected]> Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
1 parent 49def18 commit 020eb3d

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

arch/x86/kernel/apic/io_apic.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,6 +1875,7 @@ static struct irq_chip ioapic_chip __read_mostly = {
18751875
.irq_ack = irq_chip_ack_parent,
18761876
.irq_eoi = ioapic_ack_level,
18771877
.irq_set_affinity = ioapic_set_affinity,
1878+
.irq_retrigger = irq_chip_retrigger_hierarchy,
18781879
.flags = IRQCHIP_SKIP_SET_WAKE,
18791880
};
18801881

@@ -1886,6 +1887,7 @@ static struct irq_chip ioapic_ir_chip __read_mostly = {
18861887
.irq_ack = irq_chip_ack_parent,
18871888
.irq_eoi = ioapic_ir_ack_level,
18881889
.irq_set_affinity = ioapic_set_affinity,
1890+
.irq_retrigger = irq_chip_retrigger_hierarchy,
18891891
.flags = IRQCHIP_SKIP_SET_WAKE,
18901892
};
18911893

0 commit comments

Comments
 (0)