aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/kvm/kvm-ia64.c2
-rw-r--r--arch/x86/kvm/i8254.c2
-rw-r--r--arch/x86/kvm/lapic.c2
-rw-r--r--arch/x86/kvm/x86.c2
4 files changed, 0 insertions, 8 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index 4a983147f6eb..f534e0f6bb0d 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -982,10 +982,8 @@ long kvm_arch_vm_ioctl(struct file *filp,
982 goto out; 982 goto out;
983 if (irqchip_in_kernel(kvm)) { 983 if (irqchip_in_kernel(kvm)) {
984 __s32 status; 984 __s32 status;
985 mutex_lock(&kvm->irq_lock);
986 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 985 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID,
987 irq_event.irq, irq_event.level); 986 irq_event.irq, irq_event.level);
988 mutex_unlock(&kvm->irq_lock);
989 if (ioctl == KVM_IRQ_LINE_STATUS) { 987 if (ioctl == KVM_IRQ_LINE_STATUS) {
990 irq_event.status = status; 988 irq_event.status = status;
991 if (copy_to_user(argp, &irq_event, 989 if (copy_to_user(argp, &irq_event,
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index 144e7f60b5e2..fab7440c9bb2 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -688,10 +688,8 @@ static void __inject_pit_timer_intr(struct kvm *kvm)
688 struct kvm_vcpu *vcpu; 688 struct kvm_vcpu *vcpu;
689 int i; 689 int i;
690 690
691 mutex_lock(&kvm->irq_lock);
692 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 1); 691 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 1);
693 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 0); 692 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 0);
694 mutex_unlock(&kvm->irq_lock);
695 693
696 /* 694 /*
697 * Provides NMI watchdog support via Virtual Wire mode. 695 * Provides NMI watchdog support via Virtual Wire mode.
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index df8bcb0f66d8..8787637b1a9c 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -501,9 +501,7 @@ static void apic_send_ipi(struct kvm_lapic *apic)
501 irq.trig_mode, irq.level, irq.dest_mode, irq.delivery_mode, 501 irq.trig_mode, irq.level, irq.dest_mode, irq.delivery_mode,
502 irq.vector); 502 irq.vector);
503 503
504 mutex_lock(&apic->vcpu->kvm->irq_lock);
505 kvm_irq_delivery_to_apic(apic->vcpu->kvm, apic, &irq); 504 kvm_irq_delivery_to_apic(apic->vcpu->kvm, apic, &irq);
506 mutex_unlock(&apic->vcpu->kvm->irq_lock);
507} 505}
508 506
509static u32 apic_get_tmcct(struct kvm_lapic *apic) 507static u32 apic_get_tmcct(struct kvm_lapic *apic)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index fdf989f17a61..5beb4c16caab 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2286,10 +2286,8 @@ long kvm_arch_vm_ioctl(struct file *filp,
2286 goto out; 2286 goto out;
2287 if (irqchip_in_kernel(kvm)) { 2287 if (irqchip_in_kernel(kvm)) {
2288 __s32 status; 2288 __s32 status;
2289 mutex_lock(&kvm->irq_lock);
2290 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 2289 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID,
2291 irq_event.irq, irq_event.level); 2290 irq_event.irq, irq_event.level);
2292 mutex_unlock(&kvm->irq_lock);
2293 if (ioctl == KVM_IRQ_LINE_STATUS) { 2291 if (ioctl == KVM_IRQ_LINE_STATUS) {
2294 irq_event.status = status; 2292 irq_event.status = status;
2295 if (copy_to_user(argp, &irq_event, 2293 if (copy_to_user(argp, &irq_event,