diff mbox

kvm: fail msi request if !level

Message ID 20090705182758.GA3109@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Michael S. Tsirkin July 5, 2009, 6:27 p.m. UTC
Irqfd sets level for interrupt to 1 and then to 0.
For MSI, check level so that a single message is sent.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 virt/kvm/irq_comm.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Avi Kivity July 7, 2009, 11:24 a.m. UTC | #1
On 07/05/2009 09:27 PM, Michael S. Tsirkin wrote:
> Irqfd sets level for interrupt to 1 and then to 0.
> For MSI, check level so that a single message is sent.
>    

Applied, thanks.
diff mbox

Patch

diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c
index c380bf0..7af18b8 100644
--- a/virt/kvm/irq_comm.c
+++ b/virt/kvm/irq_comm.c
@@ -139,7 +139,9 @@  int kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level)
 		else
 			clear_bit(irq_source_id, irq_state);
 		sig_level = !!(*irq_state);
-	} else /* Deal with MSI/MSI-X */
+	} else if (!level)
+		return ret;
+	else /* Deal with MSI/MSI-X */
 		sig_level = 1;
 
 	/* Not possible to detect if the guest uses the PIC or the