]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
MdeModulePkg: Remove TransmitReceive() and ActiveChild dependency
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Dhcp4Dxe / Dhcp4Io.c
index 995bbcf840bfdd5201e7b798c543c57117853567..4bc991557a1750089abb9463de6e4a0bdcb6bea1 100644 (file)
@@ -1518,6 +1518,8 @@ DhcpOnTimerTick (
   IN VOID                   *Context\r
   )\r
 {\r
+  LIST_ENTRY                *Entry;\r
+  LIST_ENTRY                *Next;\r
   DHCP_SERVICE              *DhcpSb;\r
   DHCP_PROTOCOL             *Instance;\r
   EFI_STATUS                Status;\r
@@ -1665,10 +1667,17 @@ DhcpOnTimerTick (
   }\r
 \r
 ON_EXIT:\r
-  if ((Instance != NULL) && (Instance->Token != NULL)) {\r
-    Instance->Timeout--;\r
-    if (Instance->Timeout == 0) {\r
-      PxeDhcpDone (Instance);\r
+  //\r
+  // Iterate through all the DhcpSb Children.\r
+  //\r
+  NET_LIST_FOR_EACH_SAFE (Entry, Next, &DhcpSb->Children) {\r
+    Instance = NET_LIST_USER_STRUCT (Entry, DHCP_PROTOCOL, Link);\r
+    \r
+    if ((Instance != NULL) && (Instance->Token != NULL)) {\r
+      Instance->Timeout--;\r
+      if (Instance->Timeout == 0) {\r
+        PxeDhcpDone (Instance);\r
+      }\r
     }\r
   }\r
 \r