Index: /trunk/src/VBox/Devices/Network/DevPCNet.cpp
===================================================================
--- /trunk/src/VBox/Devices/Network/DevPCNet.cpp	(revision 20118)
+++ /trunk/src/VBox/Devices/Network/DevPCNet.cpp	(revision 20119)
@@ -3842,6 +3842,8 @@
 {
     PCNetState *pThis = PDMINS_2_DATA(pDevIns, PCNetState *);
-
-    int rc = VERR_GENERAL_FAILURE;
+    int         rc = PDMCritSectEnter(&pThis->CritSect, VERR_SEM_BUSY);
+    AssertReleaseRC(rc);
+
+    rc = VERR_GENERAL_FAILURE;
     if (pThis->cLinkDownReported <= PCNET_MAX_LINKDOWN_REPORTED)
         rc = TMTimerSetMillies(pThis->pTimerRestore, 1500);
@@ -3862,6 +3864,7 @@
         Log(("#%d pcnetTimerRestore: cLinkDownReported=%d, wait another 1500ms...\n",
              pDevIns->iInstance, pThis->cLinkDownReported));
-}
-
+
+    PDMCritSectLeave(&pThis->CritSect);
+}
 
 /**
@@ -4954,5 +4957,4 @@
     if (RT_FAILURE(rc))
         return rc;
-    TMR3TimerSetCritSect(pThis->pTimerRestore, &pThis->CritSect);
 
     rc = PDMDevHlpSSMRegister(pDevIns, pDevIns->pDevReg->szDeviceName, iInstance,
