[Description]:

Problem with PXE boot to Windows Server 2008 install. The reason is that UdpRead and UdpWrite interfaces cannot work well with the same UDP instance.
[Solution]
 Use separate instances for UDP Read and UDP write in UefiPxeBC module.
[Impaction]:
 UefiPxeBcDxe and Udp4Dxe module.
[Reference Info]:
 EDK tracker 1133 - Problem with PXE boot to Windows Server 2008 install. 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5303 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff
2008-05-27 03:34:39 +00:00
parent ac64461468
commit 8792362f22
7 changed files with 186 additions and 57 deletions

View File

@@ -254,7 +254,7 @@ PxeBcTftpReadFile (
if (BlockSize != NULL) {
ReqOpt[0].OptionStr = (UINT8*)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].OptionStr = (UINT8*) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].ValueStr = OptBuf;
UtoA10 (*BlockSize, (CHAR8 *) ReqOpt[0].ValueStr);
OptCnt++;
@@ -336,7 +336,7 @@ PxeBcTftpWriteFile (
if (BlockSize != NULL) {
ReqOpt[0].OptionStr = (UINT8*)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].OptionStr = (UINT8*) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].ValueStr = OptBuf;
UtoA10 (*BlockSize, (CHAR8 *) ReqOpt[0].ValueStr);
OptCnt++;
@@ -410,7 +410,7 @@ PxeBcTftpReadDirectory (
if (BlockSize != NULL) {
ReqOpt[0].OptionStr = (UINT8*)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].OptionStr = (UINT8*) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
ReqOpt[0].ValueStr = OptBuf;
UtoA10 (*BlockSize, (CHAR8 *) ReqOpt[0].ValueStr);
OptCnt++;