aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>2010-08-17 03:02:12 -0400
committerAvi Kivity <avi@redhat.com>2010-08-17 05:04:23 -0400
commit6b5d7a9f6f7ff0e096829c1d82f70d5a6066b889 (patch)
tree038f87a177579878af53c1961a18da6960bf5378
parent3185bf8c23149f32d7e7363b84539ea50b26ecb1 (diff)
KVM: PIT: free irq source id in handling error path
Free irq source id if create pit workqueue fail Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--arch/x86/kvm/i8254.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index f539c3c2a687..ddeb2314b522 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -697,6 +697,7 @@ struct kvm_pit *kvm_create_pit(struct kvm *kvm, u32 flags)
697 pit->wq = create_singlethread_workqueue("kvm-pit-wq"); 697 pit->wq = create_singlethread_workqueue("kvm-pit-wq");
698 if (!pit->wq) { 698 if (!pit->wq) {
699 mutex_unlock(&pit->pit_state.lock); 699 mutex_unlock(&pit->pit_state.lock);
700 kvm_free_irq_source_id(kvm, pit->irq_source_id);
700 kfree(pit); 701 kfree(pit);
701 return NULL; 702 return NULL;
702 } 703 }