summaryrefslogtreecommitdiff
path: root/NetworkPkg/HttpBootDxe/HttpBootImpl.c
diff options
context:
space:
mode:
authorZhang Lubo <lubo.zhang@intel.com>2016-03-24 16:59:22 +0800
committerJiaxin Wu <jiaxin.wu@intel.com>2016-03-25 11:32:57 +0800
commit651aeac67248c798c8c22dfd04580d8961cf09d0 (patch)
tree14146536fa72bb77a03982b2a48ff29b1a32ec99 /NetworkPkg/HttpBootDxe/HttpBootImpl.c
parent5d54bbec2ce3861d646fbbd19072b1c3c1537f17 (diff)
downloadedk2-651aeac67248c798c8c22dfd04580d8961cf09d0.zip
edk2-651aeac67248c798c8c22dfd04580d8961cf09d0.tar.gz
edk2-651aeac67248c798c8c22dfd04580d8961cf09d0.tar.bz2
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/HttpBootImpl.c')
-rw-r--r--NetworkPkg/HttpBootDxe/HttpBootImpl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/NetworkPkg/HttpBootDxe/HttpBootImpl.c b/NetworkPkg/HttpBootDxe/HttpBootImpl.c
index 3adb08d..c4a3e70 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);