The issue was enrolled by the commit of ceec3638. One of the change in the 
commit
was to return the status from NetMapIterate in Udp6Groups function. But it 
should
not return EFI_ABORTED directly in case McastIp is not NULL, which means to 
terminate
the iteration and leave the McastIp successfully.

Cc: Wang Fan <fan.w...@intel.com>
Cc: Fu Siyuan <siyuan...@intel.com>
Cc: Ye Ting <ting...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin...@intel.com>
---
 NetworkPkg/Udp6Dxe/Udp6Main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/NetworkPkg/Udp6Dxe/Udp6Main.c b/NetworkPkg/Udp6Dxe/Udp6Main.c
index 1d7f0acbc7..e9d94dd00c 100644
--- a/NetworkPkg/Udp6Dxe/Udp6Main.c
+++ b/NetworkPkg/Udp6Dxe/Udp6Main.c
@@ -380,10 +380,13 @@ Udp6Groups (
 
     Status = NetMapInsertTail (&Instance->McastIps, (VOID *) McastIp, NULL);
   } else {
 
     Status = NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, 
MulticastAddress);
+    if ((MulticastAddress != NULL) && (Status == EFI_ABORTED)) {
+      Status = EFI_SUCCESS;
+    } 
   }
 
 ON_EXIT:
 
   gBS->RestoreTPL (OldTpl);
-- 
2.16.2.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to