diff options
author | Zhang Lubo <lubo.zhang@intel.com> | 2016-03-24 16:59:22 +0800 |
---|---|---|
committer | Jiaxin Wu <jiaxin.wu@intel.com> | 2016-03-25 11:32:57 +0800 |
commit | 651aeac67248c798c8c22dfd04580d8961cf09d0 (patch) | |
tree | 14146536fa72bb77a03982b2a48ff29b1a32ec99 /NetworkPkg/HttpBootDxe | |
parent | 5d54bbec2ce3861d646fbbd19072b1c3c1537f17 (diff) | |
download | edk2-platforms-651aeac67248c798c8c22dfd04580d8961cf09d0.tar.xz |
NetworkPkg:Fix Http boot download issue.
When http boot download the second time without return
out of the boot manager, the DHCP process will start twice
with the same Boot file uri and print the information twice
which we not expected. This is caused by wrong logic
of handling the device path of the boot file when loading it.
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Diffstat (limited to 'NetworkPkg/HttpBootDxe')
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootImpl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/NetworkPkg/HttpBootDxe/HttpBootImpl.c b/NetworkPkg/HttpBootDxe/HttpBootImpl.c index 3adb08d9f6..c4a3e707fb 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootImpl.c +++ b/NetworkPkg/HttpBootDxe/HttpBootImpl.c @@ -431,7 +431,7 @@ HttpBootDxeLoadFile ( // 2. The required boot FilePath is different with the one we produced in the device path
// protocol.
//
- if ((UsingIpv6 != Private->UsingIpv6) || !IsDevicePathEnd(FilePath)) {
+ if ((UsingIpv6 != Private->UsingIpv6) || ((Private->FilePathUri != NULL) && (AsciiStrCmp (Private->BootFileUri, Private->FilePathUri) != 0))) {
Status = HttpBootStop (Private);
if (!EFI_ERROR (Status)) {
Status = HttpBootStart (Private, UsingIpv6, FilePath);
|