Commit-ID: 839b0f1c4ef674cd929a42304c078afca278581a Gitweb: https://git.kernel.org/tip/839b0f1c4ef674cd929a42304c078afca278581a Author: Thomas Gleixner <t...@linutronix.de> AuthorDate: Mon, 4 Jun 2018 17:33:58 +0200 Committer: Thomas Gleixner <t...@linutronix.de> CommitDate: Wed, 6 Jun 2018 15:18:21 +0200
x86/platform/uv: Use apic_ack_irq() 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 the special uv_ack_apic() implementation which is merily a wrapper around ack_APIC_irq(). Preparatory change for the real fix Fixes: dccfe3147b42 ("x86/vector: Simplify vector move cleanup") Reported-by: Song Liu <liu.song....@gmail.com> Signed-off-by: Thomas Gleixner <t...@linutronix.de> Tested-by: Song Liu <songliubrav...@fb.com> Cc: Joerg Roedel <jroe...@suse.de> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Dmitry Safonov <0x7f454...@gmail.com> Cc: sta...@vger.kernel.org Cc: Mike Travis <mike.tra...@hpe.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Tariq Toukan <tar...@mellanox.com> Link: https://lkml.kernel.org/r/20180604162224.721691...@linutronix.de --- arch/x86/platform/uv/uv_irq.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/x86/platform/uv/uv_irq.c b/arch/x86/platform/uv/uv_irq.c index e4cb9f4cde8a..fc13cbbb2dce 100644 --- a/arch/x86/platform/uv/uv_irq.c +++ b/arch/x86/platform/uv/uv_irq.c @@ -47,11 +47,6 @@ static void uv_program_mmr(struct irq_cfg *cfg, struct uv_irq_2_mmr_pnode *info) static void uv_noop(struct irq_data *data) { } -static void uv_ack_apic(struct irq_data *data) -{ - ack_APIC_irq(); -} - static int uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask, bool force) @@ -73,7 +68,7 @@ static struct irq_chip uv_irq_chip = { .name = "UV-CORE", .irq_mask = uv_noop, .irq_unmask = uv_noop, - .irq_eoi = uv_ack_apic, + .irq_eoi = apic_ack_irq, .irq_set_affinity = uv_set_irq_affinity, };