]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.9.28/x86-ioapic-restore-io-apic-irq_chip-retrigger-callback.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.9.28 / x86-ioapic-restore-io-apic-irq_chip-retrigger-callback.patch
1 From a9b4f08770b415f30f2fb0f8329a370c8f554aa3 Mon Sep 17 00:00:00 2001
2 From: Ruslan Ruslichenko <rruslich@cisco.com>
3 Date: Tue, 17 Jan 2017 16:13:52 +0200
4 Subject: x86/ioapic: Restore IO-APIC irq_chip retrigger callback
5
6 From: Ruslan Ruslichenko <rruslich@cisco.com>
7
8 commit a9b4f08770b415f30f2fb0f8329a370c8f554aa3 upstream.
9
10 commit d32932d02e18 removed the irq_retrigger callback from the IO-APIC
11 chip and did not add it to the new IO-APIC-IR irq chip.
12
13 There is no harm because the interrupts are resent in software when the
14 retrigger callback is NULL, but it's less efficient. So restore them.
15
16 [ tglx: Massaged changelog ]
17
18 Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
19 Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
20 Cc: xe-linux-external@cisco.com
21 Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@cisco.com
22 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
23 Signed-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