|
@@ -135,7 +135,8 @@ void kvm_free_irq_routing(struct kvm *kvm)
|
|
free_irq_routing_table(rt);
|
|
free_irq_routing_table(rt);
|
|
}
|
|
}
|
|
|
|
|
|
-static int setup_routing_entry(struct kvm_irq_routing_table *rt,
|
|
|
|
|
|
+static int setup_routing_entry(struct kvm *kvm,
|
|
|
|
+ struct kvm_irq_routing_table *rt,
|
|
struct kvm_kernel_irq_routing_entry *e,
|
|
struct kvm_kernel_irq_routing_entry *e,
|
|
const struct kvm_irq_routing_entry *ue)
|
|
const struct kvm_irq_routing_entry *ue)
|
|
{
|
|
{
|
|
@@ -154,7 +155,7 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt,
|
|
|
|
|
|
e->gsi = ue->gsi;
|
|
e->gsi = ue->gsi;
|
|
e->type = ue->type;
|
|
e->type = ue->type;
|
|
- r = kvm_set_routing_entry(e, ue);
|
|
|
|
|
|
+ r = kvm_set_routing_entry(kvm, e, ue);
|
|
if (r)
|
|
if (r)
|
|
goto out;
|
|
goto out;
|
|
if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
|
|
if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
|
|
@@ -211,7 +212,7 @@ int kvm_set_irq_routing(struct kvm *kvm,
|
|
kfree(e);
|
|
kfree(e);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- r = setup_routing_entry(new, e, ue);
|
|
|
|
|
|
+ r = setup_routing_entry(kvm, new, e, ue);
|
|
if (r) {
|
|
if (r) {
|
|
kfree(e);
|
|
kfree(e);
|
|
goto out;
|
|
goto out;
|