Commit 12334715 authored by Konrad Rzeszutek Wilk's avatar Konrad Rzeszutek Wilk Committed by Jeremy Fitzhardinge

xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs.

When we allocate a vector for MSI/MSI-X we save away the PIRQ, and the
vector value. When we unmap (de-allocate) the MSI/MSI-X vector(s) we
need to provide the PIRQ and the vector value. What we did instead
was to provide the GSI (which was zero) and the vector value, and we
got these unhappy error messages:

(XEN) irq.c:1575: dom0: pirq 0 not mapped
[    7.733415] unmap irq failed -22

This patches fixes this and we use the PIRQ value instead of the GSI
value.

CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent ec35a69c
...@@ -755,7 +755,7 @@ int xen_destroy_irq(int irq) ...@@ -755,7 +755,7 @@ int xen_destroy_irq(int irq)
goto out; goto out;
if (xen_initial_domain()) { if (xen_initial_domain()) {
unmap_irq.pirq = info->u.pirq.gsi; unmap_irq.pirq = info->u.pirq.pirq;
unmap_irq.domid = DOMID_SELF; unmap_irq.domid = DOMID_SELF;
rc = HYPERVISOR_physdev_op(PHYSDEVOP_unmap_pirq, &unmap_irq); rc = HYPERVISOR_physdev_op(PHYSDEVOP_unmap_pirq, &unmap_irq);
if (rc) { if (rc) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment