mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
0dcc4d239d
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 1dab2d7f80fa955ff493785033008b2c17f7cc53 Mon Sep 17 00:00:00 2001
|
|
From: Ruslan Ruslichenko <rruslich@cisco.com>
|
|
Date: Tue, 17 Jan 2017 16:13:52 +0200
|
|
Subject: [PATCH] x86/ioapic: Restore IO-APIC irq_chip retrigger callback
|
|
|
|
commit 020eb3daaba2857b32c4cf4c82f503d6a00a67de upstream.
|
|
|
|
commit d32932d02e18 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: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
|
|
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
|
|
Cc: xe-linux-external@cisco.com
|
|
Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@cisco.com
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
arch/x86/kernel/apic/io_apic.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
--- a/arch/x86/kernel/apic/io_apic.c
|
|
+++ b/arch/x86/kernel/apic/io_apic.c
|
|
@@ -1875,6 +1875,7 @@ static struct irq_chip ioapic_chip __rea
|
|
.irq_ack = irq_chip_ack_parent,
|
|
.irq_eoi = ioapic_ack_level,
|
|
.irq_set_affinity = ioapic_set_affinity,
|
|
+ .irq_retrigger = irq_chip_retrigger_hierarchy,
|
|
.flags = IRQCHIP_SKIP_SET_WAKE,
|
|
};
|
|
|
|
@@ -1886,6 +1887,7 @@ static struct irq_chip ioapic_ir_chip __
|
|
.irq_ack = irq_chip_ack_parent,
|
|
.irq_eoi = ioapic_ir_ack_level,
|
|
.irq_set_affinity = ioapic_set_affinity,
|
|
+ .irq_retrigger = irq_chip_retrigger_hierarchy,
|
|
.flags = IRQCHIP_SKIP_SET_WAKE,
|
|
};
|
|
|