\r
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
@retval EFI_SUCCESS The configuration settings were set, changed, or\r
reset successfully.\r
- @retval EFI_NO_MAPPING When the UdpConifgData.UseAnyStationAddress is set\r
+ @retval EFI_NO_MAPPING When the UdpConfigData.UseAnyStationAddress is set\r
to true and there is no address available for the IP6\r
driver to bind a source address to this instance.\r
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:\r
\r
ASSERT (IsListEmpty (&Instance->DeliveredDgramQue));\r
}\r
- \r
+\r
ON_EXIT:\r
\r
gBS->RestoreTPL (OldTpl);\r
// Keep a local copy of the configured multicast IPs because IpIo receives\r
// datagrams from the 0 station address IP instance and then UDP delivers to\r
// the matched instance. This copy of multicast IPs is used to avoid receive\r
- // the mutlicast datagrams destinated to multicast IPs the other instances configured.\r
+ // the multicast datagrams destinated to multicast IPs the other instances configured.\r
//\r
if (JoinFlag) {\r
\r
Status = NetMapInsertTail (&Instance->McastIps, (VOID *) McastIp, NULL);\r
} else {\r
\r
- NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);\r
+ Status = NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);\r
+ if ((MulticastAddress != NULL) && (Status == EFI_ABORTED)) {\r
+ Status = EFI_SUCCESS;\r
+ }\r
}\r
\r
ON_EXIT:\r
One or more of the\r
Token.Packet.TxData.FragmentTable[].FragmentBuffer\r
fields is NULL. One or more of the\r
- Token.Packet.TxData.UdpSessionData.DestinationAddres\r
+ Token.Packet.TxData.UdpSessionData.DestinationAddress\r
are not valid unicast IPv6\r
addresses if the UdpSessionData is not NULL.\r
Token.Packet.TxData.UdpSessionData.\r
DestinationAddress is NULL\r
Token.Packet.TxData.UdpSessionData.\r
- DestinatioPort\r
+ DestinationPort\r
is zero.\r
Token.Packet.TxData.UdpSessionData is NULL and this\r
instance's UdpConfigData.RemoteAddress is unspecified.\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ON_EXIT;\r
}\r
- \r
+\r
ConfigData = &Instance->ConfigData;\r
\r
//\r
}\r
} else {\r
//\r
- // Set the checksum is zero if the ConfigData->StationAddress is unspcified\r
+ // Set the checksum is zero if the ConfigData->StationAddress is unspecified\r
// and the Ipv6 will fill the correct value of this checksum.\r
//\r
Udp6Header->Checksum = 0;\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
//\r
- // Cancle the tokens specified by Token for this instance.\r
+ // Cancel the tokens specified by Token for this instance.\r
//\r
Status = Udp6InstanceCancelToken (Instance, Token);\r
\r