aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-11-19 11:27:09 -0500
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-11-22 12:10:34 -0800
commit12334715720b012180579f57650879d0fbb11a84 (patch)
tree0b8d0f7eadf1f43f283fdf53ffbb7e280163b6ba
parentxen: set IO permission early (before early_cpu_init()) (diff)
downloadlinux-dev-12334715720b012180579f57650879d0fbb11a84.tar.xz
linux-dev-12334715720b012180579f57650879d0fbb11a84.zip
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: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-rw-r--r--drivers/xen/events.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index d6d4f76ed500..2811bb988ea0 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -755,7 +755,7 @@ int xen_destroy_irq(int irq)
goto out;
if (xen_initial_domain()) {
- unmap_irq.pirq = info->u.pirq.gsi;
+ unmap_irq.pirq = info->u.pirq.pirq;
unmap_irq.domid = DOMID_SELF;
rc = HYPERVISOR_physdev_op(PHYSDEVOP_unmap_pirq, &unmap_irq);
if (rc) {