Index: /trunk/src/VBox/Devices/Storage/DevATA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DevATA.cpp	(revision 432)
+++ /trunk/src/VBox/Devices/Storage/DevATA.cpp	(revision 433)
@@ -804,5 +804,7 @@
     {
         Log2(("%s: LUN#%d asserting IRQ\n", __FUNCTION__, s->iLUN));
-        if (s->fDMA)
+        /* The BMDMA unit unconditionally sets BM_STATUS_INT if the interrupt
+         * line is asserted. It monitors the line for a rising edge. */
+        if (!s->fIrqPending)
             pCtl->BmDma.u8Status |= BM_STATUS_INT;
         s->fIrqPending = true;
