Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 44a7d08b5a935347a35507fb5db42659a96b3452
https://github.com/tianocore/edk2/commit/44a7d08b5a935347a35507fb5db42659a96b3452
Author: Sunny Wang <sunnyw...@hpe.com>
Date: 2016-05-06 (Fri, 06 May 2016)
Changed paths:
M NetworkPkg/HttpBootDxe/HttpBootDxe.h
M NetworkPkg/HttpBootDxe/HttpBootImpl.c
Log Message:
-----------
NetworkPkg/HttpBootDxe: Fix for the issue that the HTTP boot option can't be
booted more than once
This issue can be reproduced by the following steps:
1. Boot to HTTP boot option and the boot file is a ISO file like Ubuntu PE
image.
2. Exit from boot option (GRUB) and then back to boot manager menu.
3. Boot to the same HTTP boot option again or a HTTP boot option pointing to
the same HTTP ISO file. It will fail to boot.
Root cause:
When booting a HTTP boot option, the HTTP boot driver will save the Boot File's
information in its private data as cache data for skipping the Boot file
discovery from next time boot. However, the cache data doesn't include
ImageType data, which would cause HTTP boot driver using the invalid ImageType
(ImageTypeMax) and then fail to boot the cached boot file. In other words, for
the second time boot, the HttpBootLoadFile() doesn't update ImageType (it
returns a valid ImageType), which causes that the HttpBootDxeLoadFile() skips
to Register a RAM Disk for downloaded HTTP ISO file and then BDS code can't
find the RAM disk to boot.
Solution:
Save ImageType to private data for next time HTTP boot.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sunny Wang <sunnyw...@hpe.com>
Reviewed-by: Fu Siyuan <siyuan...@intel.com>
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits