diff options
Diffstat (limited to 'virt/kvm/irq_comm.c')
-rw-r--r-- | virt/kvm/irq_comm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c index 55ad76ee2d09..9fbbdea3d1d5 100644 --- a/virt/kvm/irq_comm.c +++ b/virt/kvm/irq_comm.c | |||
@@ -58,12 +58,16 @@ void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi) | |||
58 | void kvm_register_irq_ack_notifier(struct kvm *kvm, | 58 | void kvm_register_irq_ack_notifier(struct kvm *kvm, |
59 | struct kvm_irq_ack_notifier *kian) | 59 | struct kvm_irq_ack_notifier *kian) |
60 | { | 60 | { |
61 | /* Must be called with in-kernel IRQ chip, otherwise it's nonsense */ | ||
62 | ASSERT(irqchip_in_kernel(kvm)); | ||
63 | ASSERT(kian); | ||
61 | hlist_add_head(&kian->link, &kvm->arch.irq_ack_notifier_list); | 64 | hlist_add_head(&kian->link, &kvm->arch.irq_ack_notifier_list); |
62 | } | 65 | } |
63 | 66 | ||
64 | void kvm_unregister_irq_ack_notifier(struct kvm *kvm, | 67 | void kvm_unregister_irq_ack_notifier(struct kvm_irq_ack_notifier *kian) |
65 | struct kvm_irq_ack_notifier *kian) | ||
66 | { | 68 | { |
69 | if (!kian) | ||
70 | return; | ||
67 | hlist_del(&kian->link); | 71 | hlist_del(&kian->link); |
68 | } | 72 | } |
69 | 73 | ||