summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorIngo Molnar2016-04-29 11:55:04 +0200
committerIngo Molnar2016-04-29 11:55:04 +0200
commitffc5fce9a96303c3e16232a6bdf8827af6adb604 (patch)
treec8c46b2af268d27e07ee7fad8c283fa7d31b1fb7 /arch/x86/xen
parentMerge branch 'x86/urgent' into x86/asm, to fix semantic conflict (diff)
parentx86/apic: Handle zero vector gracefully in clear_vector_irq() (diff)
downloadkernel-qcow2-linux-ffc5fce9a96303c3e16232a6bdf8827af6adb604.tar.gz
kernel-qcow2-linux-ffc5fce9a96303c3e16232a6bdf8827af6adb604.tar.xz
kernel-qcow2-linux-ffc5fce9a96303c3e16232a6bdf8827af6adb604.zip
Merge branch 'x86/urgent' into x86/asm, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/xen')
-rw-r--r--arch/x86/xen/spinlock.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 9e2ba5c6e1dd..f42e78de1e10 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -27,6 +27,12 @@ static bool xen_pvspin = true;
static void xen_qlock_kick(int cpu)
{
+ int irq = per_cpu(lock_kicker_irq, cpu);
+
+ /* Don't kick if the target's kicker interrupt is not initialized. */
+ if (irq == -1)
+ return;
+
xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR);
}