Index: trunk/src/VBox/Devices/USB/DevOHCI.cpp
===================================================================
--- trunk/src/VBox/Devices/USB/DevOHCI.cpp	(revision 78527)
+++ trunk/src/VBox/Devices/USB/DevOHCI.cpp	(revision 78528)
@@ -913,8 +913,9 @@
  * @returns nothing.
  * @param   pThis               The OHCI instance.
- */
-DECLINLINE(void) ohciR3RaiseUnrecoverableError(POHCI pThis)
-{
-    LogRelMax(10, ("OHCI#%d: Raising unrecoverable error\n", pThis->pDevInsR3->iInstance));
+ * @param   iCode               Diagnostic code.
+ */
+DECLINLINE(void) ohciR3RaiseUnrecoverableError(POHCI pThis, int iCode)
+{
+    LogRelMax(10, ("OHCI#%d: Raising unrecoverable error (%d)\n", pThis->pDevInsR3->iInstance, iCode));
     ohciR3SetInterrupt(pThis, OHCI_INTR_UNRECOVERABLE_ERROR);
 }
@@ -2681,5 +2682,5 @@
         if (!ohciR3BufInit(&Buf, pTd->cbp, pTd->be))
         {
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 1);
             return;
         }
@@ -2712,5 +2713,5 @@
                     && Buf.aVecs[1].cb > (cbLeft - Buf.aVecs[0].cb)))
             {
-                ohciR3RaiseUnrecoverableError(pThis);
+                ohciR3RaiseUnrecoverableError(pThis, 2);
                 return;
             }
@@ -2976,5 +2977,5 @@
     if (!ohciR3BufInit(&Buf, Td.cbp, Td.be))
     {
-        ohciR3RaiseUnrecoverableError(pThis);
+        ohciR3RaiseUnrecoverableError(pThis, 3);
         return false;
     }
@@ -2998,5 +2999,5 @@
                 default:
                     Log(("ohciR3ServiceTd: Invalid direction!!!! Td.hwinfo=%#x Ed.hwdinfo=%#x\n", Td.hwinfo, pEd->hwinfo));
-                    ohciR3RaiseUnrecoverableError(pThis);
+                    ohciR3RaiseUnrecoverableError(pThis, 4);
                     return false;
             }
@@ -3036,5 +3037,5 @@
                 && Buf.aVecs[1].cb > (pUrb->cbData - Buf.aVecs[0].cb)))
         {
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 5);
             VUSBIRhFreeUrb(pThis->RootHub.pIRhConn, pUrb);
             return false;
@@ -3117,5 +3118,5 @@
     if (!ohciR3BufInit(&Head.Buf, Head.Td.cbp, Head.Td.be))
     {
-        ohciR3RaiseUnrecoverableError(pThis);
+        ohciR3RaiseUnrecoverableError(pThis, 6);
         return false;
     }
@@ -3139,5 +3140,5 @@
         if (!ohciR3BufInit(&pCur->Buf, pCur->Td.cbp, pCur->Td.be))
         {
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 7);
             return false;
         }
@@ -3175,5 +3176,5 @@
                 default:
                     Log(("ohciR3ServiceTdMultiple: Invalid direction!!!! Head.Td.hwinfo=%#x Ed.hwdinfo=%#x\n", Head.Td.hwinfo, pEd->hwinfo));
-                    ohciR3RaiseUnrecoverableError(pThis);
+                    ohciR3RaiseUnrecoverableError(pThis, 8);
                     return false;
             }
@@ -3354,5 +3355,5 @@
         default:
             Log(("ohciR3ServiceIsochronousTd: Invalid direction!!!! Ed.hwdinfo=%#x\n", pEd->hwinfo));
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 9);
             return false;
     }
@@ -3387,5 +3388,5 @@
         {
             Log(("ITdAddr=%RX32 PSW%d.offset=%#x < offPrev=%#x!\n", ITdAddr, iR, off, offPrev)); /* => Unrecoverable Error*/
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 10);
             return false;
         }
@@ -3393,5 +3394,5 @@
         {
             Log(("ITdAddr=%RX32 PSW%d.CC=%#x < 'Not Accessed'!\n", ITdAddr, iR, PSW >> ITD_PSW_CC_SHIFT)); /* => Unrecoverable Error*/
-            ohciR3RaiseUnrecoverableError(pThis);
+            ohciR3RaiseUnrecoverableError(pThis, 11);
             return false;
         }
@@ -3406,5 +3407,5 @@
     {
         Log(("ITdAddr=%RX32 offEnd=%#x < offPrev=%#x!\n", ITdAddr, offEnd, offPrev)); /* => Unrecoverable Error*/
-        ohciR3RaiseUnrecoverableError(pThis);
+        ohciR3RaiseUnrecoverableError(pThis, 12);
         return false;
     }
