// Start Pxe Base Code to initialize PXE boot.\r
//\r
Status = PxeBc->Start (PxeBc, UsingIpv6);\r
+ if (Status == EFI_ALREADY_STARTED && UsingIpv6 != PxeBc->Mode->UsingIpv6) {\r
+ //\r
+ // PxeBc protocol has already been started but not on the required IP version, restart it.\r
+ //\r
+ Status = PxeBc->Stop (PxeBc);\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = PxeBc->Start (PxeBc, UsingIpv6);\r
+ }\r
+ }\r
if (Status == EFI_SUCCESS || Status == EFI_ALREADY_STARTED) {\r
Status = PxeBcLoadBootFile (Private, BufferSize, Buffer);\r
}\r