diff options
| author | Scott Wood <scottwood@freescale.com> | 2010-09-30 15:28:50 -0400 |
|---|---|---|
| committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-11-05 12:42:28 -0400 |
| commit | bb59e9748f9bc95212c7fe21468ba184938c48cb (patch) | |
| tree | 6b6bbf59969da08b63f5486ebd4f2741a8a07382 | |
| parent | f22e2f049d4643ed3c2d498ca50f894ace87962b (diff) | |
KVM: PPC: BookE: fix sleep with interrupts disabled
It is not legal to call mutex_lock() with interrupts disabled.
This will assert with debug checks enabled.
If there's a real need to disable interrupts here, it could be done
after the mutex is acquired -- but I don't see why it's needed at all.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
| -rw-r--r-- | arch/powerpc/kvm/timing.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c index 46fa04f12a9b..a021f5827a33 100644 --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c | |||
| @@ -35,7 +35,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu) | |||
| 35 | int i; | 35 | int i; |
| 36 | 36 | ||
| 37 | /* pause guest execution to avoid concurrent updates */ | 37 | /* pause guest execution to avoid concurrent updates */ |
| 38 | local_irq_disable(); | ||
| 39 | mutex_lock(&vcpu->mutex); | 38 | mutex_lock(&vcpu->mutex); |
| 40 | 39 | ||
| 41 | vcpu->arch.last_exit_type = 0xDEAD; | 40 | vcpu->arch.last_exit_type = 0xDEAD; |
| @@ -51,7 +50,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu) | |||
| 51 | vcpu->arch.timing_last_enter.tv64 = 0; | 50 | vcpu->arch.timing_last_enter.tv64 = 0; |
| 52 | 51 | ||
| 53 | mutex_unlock(&vcpu->mutex); | 52 | mutex_unlock(&vcpu->mutex); |
| 54 | local_irq_enable(); | ||
| 55 | } | 53 | } |
| 56 | 54 | ||
| 57 | static void add_exit_timing(struct kvm_vcpu *vcpu, u64 duration, int type) | 55 | static void add_exit_timing(struct kvm_vcpu *vcpu, u64 duration, int type) |
