virtio-pci: fix irqfd cleanup argument order
Order of arguments of kvm_virtio_pci_irqfd_release got mixed up in all calls. As a result users see assertions during cleanup. Reported-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									782beb5239
								
							
						
					
					
						commit
						e387f99ebc
					
				@ -576,7 +576,7 @@ undo:
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        if (proxy->vdev->guest_notifier_mask) {
 | 
			
		||||
            kvm_virtio_pci_irqfd_release(proxy, vector, queue_no);
 | 
			
		||||
            kvm_virtio_pci_irqfd_release(proxy, queue_no, vector);
 | 
			
		||||
        }
 | 
			
		||||
        kvm_virtio_pci_vq_vector_release(proxy, vector);
 | 
			
		||||
    }
 | 
			
		||||
@ -602,7 +602,7 @@ static void kvm_virtio_pci_vector_release(VirtIOPCIProxy *proxy, int nvqs)
 | 
			
		||||
         * Otherwise, it was cleaned when masked in the frontend.
 | 
			
		||||
         */
 | 
			
		||||
        if (proxy->vdev->guest_notifier_mask) {
 | 
			
		||||
            kvm_virtio_pci_irqfd_release(proxy, vector, queue_no);
 | 
			
		||||
            kvm_virtio_pci_irqfd_release(proxy, queue_no, vector);
 | 
			
		||||
        }
 | 
			
		||||
        kvm_virtio_pci_vq_vector_release(proxy, vector);
 | 
			
		||||
    }
 | 
			
		||||
@ -651,7 +651,7 @@ static void kvm_virtio_pci_vq_vector_mask(VirtIOPCIProxy *proxy,
 | 
			
		||||
    if (proxy->vdev->guest_notifier_mask) {
 | 
			
		||||
        proxy->vdev->guest_notifier_mask(proxy->vdev, queue_no, true);
 | 
			
		||||
    } else {
 | 
			
		||||
        kvm_virtio_pci_irqfd_release(proxy, vector, queue_no);
 | 
			
		||||
        kvm_virtio_pci_irqfd_release(proxy, queue_no, vector);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user