]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg: Stop the HTTP Boot service after the boot image download complete.
authorFu Siyuan <siyuan.fu@intel.com>
Tue, 28 Jun 2016 03:30:04 +0000 (11:30 +0800)
committerFu Siyuan <siyuan.fu@intel.com>
Thu, 30 Jun 2016 01:36:56 +0000 (09:36 +0800)
After boot image has been downloaded, the HTTP boot driver leaves the service
in the started state, with an active TCP child. This may cause some problems:
1. The HTTP session may become unavaiable after a while, then a following HTTP
Boot will fail.
2. An active TCP child will send RST to any incoming TCP message, which may
break other driver which tries to setup a TCP connection.
The HTTP boot driver doesn't provide any interface to the boot loader, so it's
unnecessary to keep the service running after a boot image is downloaded.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
NetworkPkg/HttpBootDxe/HttpBootImpl.c

index 4b850b6628be2215a8ff3e194d1a64ce02c8a9db..babd3e6194287f451b83679d4df38a0720f92e25 100644 (file)
@@ -505,7 +505,11 @@ HttpBootDxeLoadFile (
       Status = EFI_WARN_FILE_SYSTEM;\r
     }\r
   }\r
-  \r
+\r
+  //\r
+  // Stop the HTTP Boot service after the boot image is downloaded.\r
+  //\r
+  HttpBootStop (Private);\r
   return Status;\r
 }\r
 \r