Index: /trunk/src/VBox/Frontends/VBoxBFE/HostUSBImpl.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBFE/HostUSBImpl.cpp	(revision 23020)
+++ /trunk/src/VBox/Frontends/VBoxBFE/HostUSBImpl.cpp	(revision 23021)
@@ -243,12 +243,8 @@
 
     LogFlowMember (("Console::AttachUSBDevice: Proxying USB device '%s' %RTuuid...\n", Address.c_str(), &Uuid));
-    PVMREQ pReq;
-    vrc = VMR3ReqCall (mpVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
+    vrc = VMR3ReqCallWait (mpVM, VMCPUID_ANY,
                        (PFNRT)pRhConfig->pfnCreateProxyDevice,
                        5, pRhConfig, &Uuid, fRemote,
                        Address.c_str(), pvRemote);
-    if (RT_SUCCESS (vrc))
-        vrc = pReq->iStatus;
-    VMR3ReqFree (pReq);
     if (RT_SUCCESS (vrc))
         hostDevice->setCaptured();
@@ -302,10 +298,6 @@
             RTUUID Uuid = aDevice->id();
             LogFlowMember (("Console::DetachUSBDevice: Detaching USB proxy device %RTuuid...\n", &Uuid));
-            PVMREQ pReq;
-            vrc = VMR3ReqCall (mpVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)pRhConfig->pfnDestroyProxyDevice,
+            vrc = VMR3ReqCallWait (mpVM, VMCPUID_ANY, (PFNRT)pRhConfig->pfnDestroyProxyDevice,
                                2, pRhConfig, &Uuid);
-            if (RT_SUCCESS (vrc))
-                vrc = pReq->iStatus;
-            VMR3ReqFree (pReq);
         }
     }
Index: /trunk/src/VBox/Frontends/VBoxBFE/MachineDebuggerImpl.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBFE/MachineDebuggerImpl.cpp	(revision 23020)
+++ /trunk/src/VBox/Frontends/VBoxBFE/MachineDebuggerImpl.cpp	(revision 23021)
@@ -136,14 +136,6 @@
     }
 
-    PVMREQ pReq;
     EMRAWMODE rawModeFlag = enable ? EMRAW_RING3_DISABLE : EMRAW_RING3_ENABLE;
-    int rcVBox = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                             (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag);
-    if (RT_SUCCESS(rcVBox))
-    {
-        rcVBox = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
-
+    int rcVBox = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag);
     if (RT_SUCCESS(rcVBox))
         return S_OK;
@@ -196,14 +188,6 @@
     }
 
-    PVMREQ pReq;
     EMRAWMODE rawModeFlag = enable ? EMRAW_RING0_DISABLE : EMRAW_RING0_ENABLE;
-    int rcVBox = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                             (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag);
-    if (RT_SUCCESS(rcVBox))
-    {
-        rcVBox = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
-
+    int rcVBox = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag);
     if (RT_SUCCESS(rcVBox))
         return S_OK;
Index: /trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp	(revision 23020)
+++ /trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp	(revision 23021)
@@ -965,6 +965,6 @@
         {
             /* Power off VM */
-            PVMREQ pReq;
-            rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOff, 1, pVM);
+            rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3PowerOff, 1, pVM);
+            AssertRC(rc);
         }
 
@@ -1270,6 +1270,4 @@
     if (RT_SUCCESS(rc))
     {
-        PVMREQ pReq;
-
         if (   g_fRestoreState
             && g_pszStateFile
@@ -1278,17 +1276,11 @@
         {
             startProgressInfo("Restoring");
-            rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
+            rc = VMR3ReqCallWait(pVM, VMCPUID_ANY,
                              (PFNRT)VMR3Load, 4, pVM, g_pszStateFile, &callProgressInfo, (uintptr_t)NULL);
             endProgressInfo();
             if (RT_SUCCESS(rc))
             {
-                VMR3ReqFree(pReq);
-                rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                                 (PFNRT)VMR3Resume, 1, pVM);
-                if (RT_SUCCESS(rc))
-                {
-                    rc = pReq->iStatus;
-                    VMR3ReqFree(pReq);
-                }
+                rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3Resume, 1, pVM);
+                AssertRC(rc);
                 gDisplay->setRunning();
             }
@@ -1298,12 +1290,6 @@
         else
         {
-            rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOn, 1, pVM);
-            if (RT_SUCCESS(rc))
-            {
-                rc = pReq->iStatus;
-                AssertRC(rc);
-                VMR3ReqFree(pReq);
-            }
-            else
+            rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3PowerOn, 1, pVM);
+            if (RT_FAILURE(rc))
                 AssertMsgFailed(("VMR3PowerOn failed, rc=%Rrc\n", rc));
         }
Index: /trunk/src/VBox/Frontends/VBoxBFE/VMControl.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBFE/VMControl.cpp	(revision 23020)
+++ /trunk/src/VBox/Frontends/VBoxBFE/VMControl.cpp	(revision 23021)
@@ -62,13 +62,6 @@
         gConsole->inputGrabEnd();
 
-    PVMREQ pReq;
-    int rcVBox = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                             (PFNRT)VMR3Suspend, 1, pVM);
+    int rcVBox = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3Suspend, 1, pVM);
     AssertRC(rcVBox);
-    if (RT_SUCCESS(rcVBox))
-    {
-        rcVBox = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
     return VINF_SUCCESS;
 }
@@ -83,13 +76,6 @@
         return VERR_VM_INVALID_VM_STATE;
 
-    PVMREQ pReq;
-    int rcVBox = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                             (PFNRT)VMR3Resume, 1, pVM);
+    int rcVBox = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3Resume, 1, pVM);
     AssertRC(rcVBox);
-    if (RT_SUCCESS(rcVBox))
-    {
-        rcVBox = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
     return VINF_SUCCESS;
 }
@@ -101,14 +87,6 @@
 VMCtrlReset(void)
 {
-    PVMREQ pReq;
-    int rcVBox = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                             (PFNRT)VMR3Reset, 1, pVM);
+    int rcVBox = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3Reset, 1, pVM);
     AssertRC(rcVBox);
-    if (RT_SUCCESS(rcVBox))
-    {
-        rcVBox = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
-
     return VINF_SUCCESS;
 }
@@ -155,20 +133,15 @@
 DECLCALLBACK(int) VMSaveThread(RTTHREAD Thread, void *pvUser)
 {
-    PVMREQ pReq;
     void (*pfnQuit)(void) = (void(*)(void))pvUser;
     int rc;
 
     startProgressInfo("Saving");
-    rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                     (PFNRT)VMR3Save, 5, pVM, g_pszStateFile, false /*fContinueAftewards*/, &callProgressInfo, (uintptr_t)NULL);
+    rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, 
+                         (PFNRT)VMR3Save, 5, pVM, g_pszStateFile, false /*fContinueAftewards*/, &callProgressInfo, (uintptr_t)NULL);
+    AssertRC(rc);
     endProgressInfo();
-    if (RT_SUCCESS(rc))
-    {
-        rc = pReq->iStatus;
-        VMR3ReqFree(pReq);
-    }
     pfnQuit();
 
-    return 0;
+    return VINF_SUCCESS;
 }
 
@@ -192,13 +165,6 @@
     if (machineState == VMSTATE_RUNNING)
     {
-        PVMREQ pReq;
-        rc = VMR3ReqCall(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT,
-                         (PFNRT)VMR3Suspend, 1, pVM);
+        rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMR3Suspend, 1, pVM);
         AssertRC(rc);
-        if (RT_SUCCESS(rc))
-        {
-            rc = pReq->iStatus;
-            VMR3ReqFree(pReq);
-        }
     }
 
