[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 7/7] ahci: work around bug with level interrupts
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 7/7] ahci: work around bug with level interrupts |
Date: |
Tue, 1 Feb 2011 15:51:32 +0100 |
When using level based interrupts, the interrupt is treated the same as an
edge triggered one: leaving the line up does not retrigger the interrupt.
In fact, when not lowering the line, we won't ever get a new interrupt inside
the guest. So let's always retrigger an interrupt as soon as the OS ack'ed
something on the device. This way we're sure the guest doesn't starve on
interrupts until someone fixes the actual interrupt path.
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ide/ahci.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 98bdf70..bce7fba 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -152,11 +152,10 @@ static void ahci_check_irq(AHCIState *s)
}
}
+ ahci_irq_lower(s, NULL);
if (s->control_regs.irqstatus &&
(s->control_regs.ghc & HOST_CTL_IRQ_EN)) {
ahci_irq_raise(s, NULL);
- } else {
- ahci_irq_lower(s, NULL);
}
}
--
1.6.0.2
[Qemu-devel] [PATCH 5/7] ahci: Implement HBA reset, Alexander Graf, 2011/02/01
[Qemu-devel] [PATCH 4/7] ahci: send init d2h fis on fis enable, Alexander Graf, 2011/02/01
[Qemu-devel] [PATCH 6/7] ahci: make number of ports runtime determined, Alexander Graf, 2011/02/01
[Qemu-devel] [PATCH 3/7] ahci: split ICH and AHCI even more, Alexander Graf, 2011/02/01
[Qemu-devel] [PATCH 1/7] ahci: split ICH9 from core, Alexander Graf, 2011/02/01