diff options
author | Olivier Martin <olivier.martin@arm.com> | 2014-08-19 13:35:14 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-08-19 13:35:14 +0000 |
commit | 04ad241e2081312be62a9f299311949e85ed725c (patch) | |
tree | be2ad95339379a54c7a35813504c7e39ef01e078 /StdLib | |
parent | 5e6322a53066b59c3d351d6ce3e07e07cd08e8dd (diff) | |
download | edk2-platforms-04ad241e2081312be62a9f299311949e85ed725c.tar.xz |
ArmPkg/BdsLib: Prevent a hang in BdsConnectDevicePath() when a sub-device path is not found
Some device paths were making BdsConnectDevicePath() hang.
To prevent these hangs we check if the handle returned by
gBS->LocateDevicePath() is the same after each iteration.
An example of a device path that hangs:
PciRoot(0x0)/Pci(0x1,0x0)/USB(0x0,0x0)/USB(0x3,0x0)/HD(...)
The connect controller function manages to find PciRoot()/Pci(0x1,0x0)
but the USB driver does not produce USB(0x0,0x0)/USB(0x3,0x0) and
returns EFI_SUCCESS on its initialization.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15835 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'StdLib')
0 files changed, 0 insertions, 0 deletions