From 2d8a2823f3d6d2e5fba832e0afe1fab8fbcb3694 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 18 Mar 2013 17:13:32 +0100 Subject: [PATCH] x86/HPET: mask interrupt while changing affinity While being unable to reproduce the "No irq handler for vector ..." messages observed on other systems, the change done by 5dc3fd2 ('x86: extend diagnostics for "No irq handler for vector" messages') appears to point at the lack of masking - at least I can't see what else might be wrong with the HPET MSI code that could trigger these warnings. While at it, also adjust the message printed by aforementioned commit to not pointlessly insert spaces - we don't need aligned tabular output here. Signed-off-by: Jan Beulich Acked-by: Keir Fraser --- xen/arch/x86/hpet.c | 2 ++ xen/arch/x86/irq.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c index 02926b5319..9b3d83b728 100644 --- a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -466,7 +466,9 @@ static void set_channel_irq_affinity(const struct hpet_event_channel *ch) ASSERT(!local_irq_is_enabled()); spin_lock(&desc->lock); + hpet_msi_mask(desc); hpet_msi_set_affinity(desc, cpumask_of(ch->cpu)); + hpet_msi_unmask(desc); spin_unlock(&desc->lock); } diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 8e0b004cd3..5e0f463c38 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -826,7 +826,7 @@ void do_IRQ(struct cpu_user_regs *regs) if ( ~irq < nr_irqs && irq_desc_initialized(desc) ) { spin_lock(&desc->lock); - printk("IRQ%d a=%04lx[%04lx,%04lx] v=%02x[%02x] t=%-15s s=%08x\n", + printk("IRQ%d a=%04lx[%04lx,%04lx] v=%02x[%02x] t=%s s=%08x\n", ~irq, *cpumask_bits(desc->affinity), *cpumask_bits(desc->arch.cpu_mask), *cpumask_bits(desc->arch.old_cpu_mask), -- 2.39.5