diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Driver.c b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Driver.c
index 5ccbefd..1ca0589 100644
--- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Driver.c
+++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Driver.c
@@ -1,6 +1,6 @@
 /** @file
 
-Copyright (c) 2006 - 2008, Intel Corporation.<BR>
+Copyright (c) 2006 - 2009, Intel Corporation.<BR>
 All rights reserved. This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
 which accompanies this distribution.  The full text of the license may be found at
@@ -310,6 +310,14 @@
     return Status;
   }
 
+  //
+  // Start the receiving
+  //
+  Status = UdpIoRecvDatagram (DhcpSb->UdpIo, DhcpInput, DhcpSb, 0);
+
+  if (EFI_ERROR (Status)) {
+    goto ON_ERROR;
+  }
   Status = gBS->SetTimer (DhcpSb->Timer, TimerPeriodic, TICKS_PER_SECOND);
 
   if (EFI_ERROR (Status)) {
diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.c b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.c
index 9003190..a4b8fa8 100644
--- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.c
+++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.c
@@ -816,14 +816,6 @@
     goto ON_ERROR;
   }
 
-  //
-  // Start/Restart the receiving.
-  //
-  Status = UdpIoRecvDatagram (DhcpSb->UdpIo, DhcpInput, DhcpSb, 0);
-
-  if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {
-    goto ON_ERROR;
-  }
 
   Instance->CompletionEvent = CompletionEvent;
 
@@ -1584,8 +1576,19 @@
     // Keep polling until timeout if no error happens and the CompletionEvent
     // is NULL.
     //
-    while (Instance->Timeout != 0) {
-      Instance->UdpIo->Udp->Poll (Instance->UdpIo->Udp);
+    while (TRUE) {
+      OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
+      //
+      // Raise TPL to protect the UDPIO in instance, in case that DhcpOnTimerTick
+      // free it when timeout.
+      //
+      if (Instance->Timeout > 0) {
+        Instance->UdpIo->Udp->Poll (Instance->UdpIo->Udp);
+        gBS->RestoreTPL (OldTpl);
+      } else {
+        gBS->RestoreTPL (OldTpl);
+        break;
+      }
     }
   }
 
diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
index 1b3afa3..be8ceb0 100644
--- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
+++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
@@ -443,6 +443,7 @@
   DhcpSb->DhcpState   = Dhcp4Init;
   DhcpSb->Xid         = DhcpSb->Xid + 1;
   DhcpSb->ClientAddr  = 0;
+  DhcpSb->Netmask     = 0;
   DhcpSb->ServerAddr  = 0;
 
   if (DhcpSb->LastOffer != NULL) {
@@ -1066,6 +1067,7 @@
 
   if (EFI_ERROR (Status)) {
     NetbufFree (UdpPacket);
+    UdpIoRecvDatagram (DhcpSb->UdpIo, DhcpInput, DhcpSb, 0);
     DhcpEndSession (DhcpSb, Status);
     return ;
   }
