summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/Udp6Dxe
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2018-03-01 17:24:20 +0800
committerJiaxin Wu <jiaxin.wu@intel.com>2018-03-02 11:15:38 +0800
commitdb79f8019de5e6add3a721b60283586558f5e848 (patch)
tree9461d5af53b80ce82d9f548c550cf558bc5800c7 /NetworkPkg/Udp6Dxe
parentf33d39949b3eb7f7ab3f326c8adf560aabc6fd53 (diff)
downloadedk2-db79f8019de5e6add3a721b60283586558f5e848.tar.gz
edk2-db79f8019de5e6add3a721b60283586558f5e848.tar.bz2
edk2-db79f8019de5e6add3a721b60283586558f5e848.zip
NetworkPkg/Udp6Dxe: Fix the failure to leave one multicast group address.
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.wang@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Ye Ting <ting.ye@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Diffstat (limited to 'NetworkPkg/Udp6Dxe')
-rw-r--r--NetworkPkg/Udp6Dxe/Udp6Main.c3
1 files changed, 3 insertions, 0 deletions
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
@@ -382,6 +382,9 @@ Udp6Groups (
} else {
Status = NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);
+ if ((MulticastAddress != NULL) && (Status == EFI_ABORTED)) {
+ Status = EFI_SUCCESS;
+ }
}
ON_EXIT: