diff options
Diffstat (limited to 'virt/kvm/irq_comm.c')
-rw-r--r-- | virt/kvm/irq_comm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c index a8bd466d00cc..ddc17f0e2f35 100644 --- a/virt/kvm/irq_comm.c +++ b/virt/kvm/irq_comm.c | |||
@@ -160,7 +160,8 @@ void kvm_notify_acked_irq(struct kvm *kvm, unsigned irqchip, unsigned pin) | |||
160 | unsigned gsi = pin; | 160 | unsigned gsi = pin; |
161 | 161 | ||
162 | list_for_each_entry(e, &kvm->irq_routing, link) | 162 | list_for_each_entry(e, &kvm->irq_routing, link) |
163 | if (e->irqchip.irqchip == irqchip && | 163 | if (e->type == KVM_IRQ_ROUTING_IRQCHIP && |
164 | e->irqchip.irqchip == irqchip && | ||
164 | e->irqchip.pin == pin) { | 165 | e->irqchip.pin == pin) { |
165 | gsi = e->gsi; | 166 | gsi = e->gsi; |
166 | break; | 167 | break; |
@@ -259,6 +260,7 @@ static int setup_routing_entry(struct kvm_kernel_irq_routing_entry *e, | |||
259 | int delta; | 260 | int delta; |
260 | 261 | ||
261 | e->gsi = ue->gsi; | 262 | e->gsi = ue->gsi; |
263 | e->type = ue->type; | ||
262 | switch (ue->type) { | 264 | switch (ue->type) { |
263 | case KVM_IRQ_ROUTING_IRQCHIP: | 265 | case KVM_IRQ_ROUTING_IRQCHIP: |
264 | delta = 0; | 266 | delta = 0; |