summaryrefslogtreecommitdiff
path: root/Core
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2017-04-20 11:22:35 +0800
committerGuo Mang <mang.guo@intel.com>2017-07-12 11:24:27 +0800
commit7cf9f3ba8a7c0f3e497b5c8e1c7c7b972e35d6b8 (patch)
treee35df5ce10f536cd2b51aa79c0333f8cde2661a7 /Core
parentd91a64ab9811f431cc6909ffec12e306485b88fa (diff)
downloadedk2-platforms-7cf9f3ba8a7c0f3e497b5c8e1c7c7b972e35d6b8.tar.xz
MdeModulePKg/BDS: Build meaningful description for Wi-Fi boot option
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Fan Wang <fan.wang@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com> (cherry picked from commit 6bbd4a8f5f2a538e5017045ab75674ec106f7b54)
Diffstat (limited to 'Core')
-rw-r--r--Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c b/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
index 501a0cc255..6e69a1540a 100644
--- a/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
+++ b/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
@@ -382,13 +382,13 @@ BmGetNetworkDescription (
//
// The PXE device path is like:
- // ....../Mac(...)[/Vlan(...)]
- // ....../Mac(...)[/Vlan(...)]/IPv4(...)
- // ....../Mac(...)[/Vlan(...)]/IPv6(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)
//
// The HTTP device path is like:
- // ....../Mac(...)[/Vlan(...)]/IPv4(...)/Uri(...)
- // ....../Mac(...)[/Vlan(...)]/IPv6(...)/Uri(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)/Uri(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)/Uri(...)
//
while (!IsDevicePathEnd (DevicePath) &&
((DevicePathType (DevicePath) != MESSAGING_DEVICE_PATH) ||
@@ -404,6 +404,9 @@ BmGetNetworkDescription (
Mac = (MAC_ADDR_DEVICE_PATH *) DevicePath;
DevicePath = NextDevicePathNode (DevicePath);
+ //
+ // Locate the optional Vlan node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
(DevicePathSubType (DevicePath) == MSG_VLAN_DP)
) {
@@ -413,6 +416,18 @@ BmGetNetworkDescription (
Vlan = NULL;
}
+ //
+ // Skip the optional Wi-Fi node
+ //
+ if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
+ (DevicePathSubType (DevicePath) == MSG_WIFI_DP)
+ ) {
+ DevicePath = NextDevicePathNode (DevicePath);
+ }
+
+ //
+ // Locate the IP node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
((DevicePathSubType (DevicePath) == MSG_IPv4_DP) ||
(DevicePathSubType (DevicePath) == MSG_IPv6_DP))
@@ -423,6 +438,9 @@ BmGetNetworkDescription (
Ip = NULL;
}
+ //
+ // Locate the URI node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
(DevicePathSubType (DevicePath) == MSG_URI_DP)
) {