x86/ioapic: Use apic_ack_irq()
authorThomas Gleixner <[email protected]>
Mon, 4 Jun 2018 15:33:57 +0000 (17:33 +0200)
committerThomas Gleixner <[email protected]>
Wed, 6 Jun 2018 13:18:21 +0000 (15:18 +0200)
To address the EBUSY fail of interrupt affinity settings in case that the
previous setting has not been cleaned up yet, use the new apic_ack_irq()
function instead of directly invoking ack_APIC_irq().

Preparatory change for the real fix

Fixes: dccfe3147b42 ("x86/vector: Simplify vector move cleanup")
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Song Liu <[email protected]>
Cc: Joerg Roedel <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Song Liu <[email protected]>
Cc: Dmitry Safonov <[email protected]>
Cc: [email protected]
Cc: Mike Travis <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Tariq Toukan <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
arch/x86/kernel/apic/io_apic.c

index 7553819c74c35fcead74b1fb1daa7c386425ed34..3982f79d2377c6d5b8542590d56872fa4675be89 100644 (file)
@@ -1851,7 +1851,7 @@ static void ioapic_ir_ack_level(struct irq_data *irq_data)
         * intr-remapping table entry. Hence for the io-apic
         * EOI we use the pin number.
         */
-       ack_APIC_irq();
+       apic_ack_irq(irq_data);
        eoi_ioapic_pin(data->entry.vector, data);
 }