x86, hvm, vt-d: Kill timer in iommu domain destroy
authorKeir Fraser <keir@xensource.com>
Fri, 26 Oct 2007 09:33:12 +0000 (10:33 +0100)
committerKeir Fraser <keir@xensource.com>
Fri, 26 Oct 2007 09:33:12 +0000 (10:33 +0100)
Signed-off-by: Weidong Han <weidong.han@intel.com>
xen/arch/x86/hvm/vmx/vtd/io.c

index b5c5ed6df0dc50a93e3385db4ca0a858872368ba..81cf1ae609fe80d3d341041ecb710a8446ea8353 100644 (file)
@@ -180,7 +180,10 @@ void iommu_domain_destroy(struct domain *d)
     {
         for ( i = 0; i < NR_IRQS; i++ )
             if ( hvm_irq_dpci->mirq[i].valid )
+            {
                 pirq_guest_unbind(d, i);
+                kill_timer(&hvm_irq_dpci->hvm_timer[irq_to_vector(i)]);
+            }
         d->arch.hvm_domain.irq.dpci = NULL;
         xfree(hvm_irq_dpci);
     }