]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.9.28/x86-ioapic-restore-io-apic-irq_chip-retrigger-callback.patch
fix up queue-5.15/mm-fix-race-between-__split_huge_pmd_locked-and-gup-.patch
[thirdparty/kernel/stable-queue.git] / releases / 4.9.28 / x86-ioapic-restore-io-apic-irq_chip-retrigger-callback.patch
CommitLineData
b74db2ac
GKH
1From a9b4f08770b415f30f2fb0f8329a370c8f554aa3 Mon Sep 17 00:00:00 2001
2From: Ruslan Ruslichenko <rruslich@cisco.com>
3Date: Tue, 17 Jan 2017 16:13:52 +0200
4Subject: x86/ioapic: Restore IO-APIC irq_chip retrigger callback
5
6From: Ruslan Ruslichenko <rruslich@cisco.com>
7
8commit a9b4f08770b415f30f2fb0f8329a370c8f554aa3 upstream.
9
10commit d32932d02e18 removed the irq_retrigger callback from the IO-APIC
11chip and did not add it to the new IO-APIC-IR irq chip.
12
13There is no harm because the interrupts are resent in software when the
14retrigger callback is NULL, but it's less efficient. So restore them.
15
16[ tglx: Massaged changelog ]
17
18Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
19Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
20Cc: xe-linux-external@cisco.com
21Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@cisco.com
22Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
23Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24
25---
26 arch/x86/kernel/apic/io_apic.c | 2 ++
27 1 file changed, 2 insertions(+)
28
29--- a/arch/x86/kernel/apic/io_apic.c
30+++ b/arch/x86/kernel/apic/io_apic.c
31@@ -1876,6 +1876,7 @@ static struct irq_chip ioapic_chip __rea
32 .irq_ack = irq_chip_ack_parent,
33 .irq_eoi = ioapic_ack_level,
34 .irq_set_affinity = ioapic_set_affinity,
35+ .irq_retrigger = irq_chip_retrigger_hierarchy,
36 .flags = IRQCHIP_SKIP_SET_WAKE,
37 };
38
39@@ -1887,6 +1888,7 @@ static struct irq_chip ioapic_ir_chip __
40 .irq_ack = irq_chip_ack_parent,
41 .irq_eoi = ioapic_ir_ack_level,
42 .irq_set_affinity = ioapic_set_affinity,
43+ .irq_retrigger = irq_chip_retrigger_hierarchy,
44 .flags = IRQCHIP_SKIP_SET_WAKE,
45 };
46