x86/platform/uv: Use apic_ack_irq()
Subsystems (3)
PATCH 6/8 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 <[email protected]>
Signed-off-by Thomas Gleixner <[email protected]>
--- arch/x86/platform/uv/uv_irq.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
arch/x86/platform/uv/uv_irq.c +1 -6
@@ -47,11 +47,6 @@ static void uv_program_mmr(struct irq_cfstatic 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, };
Tested-by Song Liu <[email protected]>
Quoted 1 line · Thomas Gleixner
tip-bot for Thomas Gleixner
merge botx86/platform/uv: Use apic_ack_irq()
Commit-ID: 839b0f1c4ef674cd929a42304c078afca278581a Gitweb: https://git.kernel.org/tip/839b0f1c4ef674cd929a42304c078afca278581a Author: Thomas Gleixner <[email protected]> AuthorDate: Mon, 4 Jun 2018 17:33:58 +0200 Committer: Thomas Gleixner <[email protected]> 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 <[email protected]>
Signed-off-by Thomas Gleixner <[email protected]>
Tested-by Song Liu <[email protected]>
Cc Joerg Roedel <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Dmitry Safonov <[email protected]>
Cc Mike Travis <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc Tariq Toukan <[email protected]>
--- arch/x86/platform/uv/uv_irq.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
arch/x86/platform/uv/uv_irq.c +1 -6
@@ -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, };