fixed one bug in stop(), adding get NicHandle by gEfiArpProtocolGuid.
[people/mcb30/edk2.git] / edk2 / MdeModulePkg / Universal / Network / UefiPxeBcDxe / PxeBcDriver.c
index 67a60a9..48a52ce 100644 (file)
@@ -394,15 +394,21 @@ PxeBcDriverBindingStop (
   EFI_HANDLE                  NicHandle;\r
   EFI_STATUS                  Status;\r
 \r
-  NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);\r
+  NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiArpProtocolGuid);\r
 \r
   if (NicHandle == NULL) {\r
 \r
-    NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiMtftp4ProtocolGuid);\r
+    NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);\r
 \r
     if (NicHandle == NULL) {\r
 \r
-      return EFI_DEVICE_ERROR;\r
+      NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiMtftp4ProtocolGuid);\r
+\r
+      if (NicHandle == NULL) {\r
+\r
+        return EFI_DEVICE_ERROR;\r
+\r
+      }\r
     }\r
   }\r
 \r