summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
diff options
context:
space:
mode:
authorsfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2011-12-16 09:00:47 +0000
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2011-12-16 09:00:47 +0000
commit357af28525c3a5be6ca0a201f2533dc0a372dbfb (patch)
treeea50fbf3c8807ddf36c9a69791bcfe32ed151c1a /NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
parent9508d0fa4fb2cd2ff03604bc3b1b1abf8f69ccb6 (diff)
downloadedk2-357af28525c3a5be6ca0a201f2533dc0a372dbfb.tar.gz
edk2-357af28525c3a5be6ca0a201f2533dc0a372dbfb.tar.bz2
edk2-357af28525c3a5be6ca0a201f2533dc0a372dbfb.zip
Reconfigure the UdpRead instance if an error occurred in Dhcp, Discover and Mtftp process.
Signed-off-by: sfu5 Reviewed-by: qianouyang Reviewed-by: tye git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12884 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c')
-rw-r--r--NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
index 3e59f3f233..8715675472 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
@@ -1626,6 +1626,14 @@ PxeBcDhcp6Discover (
}
ReadSize = (UINTN) Reply->Size;
+ //
+ // Start Udp6Read instance
+ //
+ Status = Private->Udp6Read->Configure (Private->Udp6Read, &Private->Udp6CfgData);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
Status = PxeBc->UdpRead (
PxeBc,
OpFlags,
@@ -1638,6 +1646,10 @@ PxeBcDhcp6Discover (
&ReadSize,
(VOID *) &Reply->Dhcp6
);
+ //
+ // Stop Udp6Read instance
+ //
+ Private->Udp6Read->Configure (Private->Udp6Read, NULL);
if (EFI_ERROR (Status)) {
return Status;
}