Re: [PATCH 4.4 16/60] x86/ioapic: Restore IO-APIC irq_chip retrigger callback

From: Ben Hutchings
Date: Thu May 11 2017 - 13:05:25 EST


On Thu, 2017-05-11 at 16:12 +0200, Greg Kroah-Hartman wrote:
> 4.4-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Ruslan Ruslichenko <rruslich@xxxxxxxxx>
>
> commit a9b4f08770b415f30f2fb0f8329a370c8f554aa3 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.
>
> There is no harm because the interrupts are resent in software when the
> retrigger callback is NULL, but it's less efficient. So restore them.

Sounds like it's not important enough for stable, then?

Ben.

> [ tglx: Massaged changelog ]
>
> Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
> Signed-off-by: Ruslan Ruslichenko <rruslich@xxxxxxxxx>
> Cc: xe-linux-external@xxxxxxxxx
> Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@xxxxxxxxx
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> ---
> 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,
> };
>
>
>
>

--
Ben Hutchings
Software Developer, Codethink Ltd.