Index: /trunk/src/VBox/Devices/Audio/DevHDA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 65025)
+++ /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 65026)
@@ -4678,4 +4678,5 @@
 
     bool fDone = false;
+    uint8_t cTransfers = 0;
 
     while (!fDone)
@@ -4806,5 +4807,9 @@
         else
             AssertFailed();
-    }
+
+        if (++cTransfers > 32) /* Failsafe counter. */
+            fDone = true;
+
+    } /* while !fDone */
 
     return rc;
Index: /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 65025)
+++ /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 65026)
@@ -1260,4 +1260,5 @@
 
     bool fDone = false;
+    uint8_t cTransfers = 0;
 
     Log3Func(("[SD%RU8] Started\n", pStream->u8Strm));
@@ -1395,7 +1396,8 @@
             AssertFailed();
 
-        if (fDone)
-            break;
-    }
+        if (++cTransfers > 32) /* Failsafe counter. */
+            fDone = true;
+
+    } /* while !fDone */
 
     LogFunc(("[SD%RU8] End\n", pStream->u8Strm));
