Index: /trunk/src/VBox/Devices/Audio/DevHDA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 64848)
+++ /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 64849)
@@ -208,4 +208,5 @@
 #define HDA_INTCTL_S7_SHIFT         7
 #define INTCTL_SX(pThis, X)         (HDA_REG_FLAG_VALUE((pThis), INTCTL, S##X))
+#define HDA_INTCTL_GIE_MASK         RT_BIT(31) /* Global Interrupt Enable (3.3.14). */
 
 #define HDA_REG_INTSTS              12 /* 0x24 */
@@ -2176,7 +2177,24 @@
     RT_NOREF(iReg);
 
+    int rc;
+
     HDA_REG(pThis, INTCTL) = u32Value;
 
-    return hdaProcessInterrupt(pThis);
+    /* Global Interrupt Enable (GIE) set? */
+    if (u32Value & HDA_INTCTL_GIE_MASK)
+    {
+        rc = hdaProcessInterrupt(pThis);
+    }
+    else
+    {
+        /** @todo Clear INTSTS's individual stream status bits as well? */
+
+        /* Make sure to lower interrupt line, as Global Interrupt Enable (GIE) is disabled. */
+        PDMDevHlpPCISetIrq(pThis->CTX_SUFF(pDevIns), 0, 0 /* iLevel */);
+
+        rc = VINF_SUCCESS;
+    }
+
+    return rc;
 }
 
