KVM: Fix INTx for device assignment
authorSheng Yang <sheng@linux.intel.com>
Tue, 6 Jan 2009 08:25:10 +0000 (16:25 +0800)
committerAvi Kivity <avi@redhat.com>
Sun, 15 Feb 2009 00:47:38 +0000 (02:47 +0200)
Missing buckets and wrong parameter for free_irq()

Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
virt/kvm/kvm_main.c

index 277ea7f39fc8e360e9e552b01b3a18c88559ca12..d9bbb20f230f50583c56e960dbfeee5ffedc1470 100644 (file)
@@ -296,8 +296,8 @@ static int assigned_device_update_intx(struct kvm *kvm,
 
        if (irqchip_in_kernel(kvm)) {
                if (!msi2intx &&
-                   adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI) {
-                       free_irq(adev->host_irq, (void *)kvm);
+                   (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI)) {
+                       free_irq(adev->host_irq, (void *)adev);
                        pci_disable_msi(adev->dev);
                }