]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDriver.c
BaseTools:Change the path of the file that Binary Cache
[mirror_edk2.git] / MdeModulePkg / Universal / Network / VlanConfigDxe / VlanConfigDriver.c
index 19db6cea97d9a1ac53f8161e90fcd3986bc71d69..c717d9ea523c5765e2a693d28d67a2f845196c91 100644 (file)
@@ -1,22 +1,13 @@
 /** @file\r
   The driver binding for VLAN configuration module.\r
 \r
-Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution.  The full\r
-text of the license may be found at<BR>\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include "VlanConfigImpl.h"\r
 \r
-EFI_GUID gVlanConfigPrivateGuid = VLAN_CONFIG_PRIVATE_GUID;\r
-\r
 EFI_DRIVER_BINDING_PROTOCOL gVlanConfigDriverBinding = {\r
   VlanConfigDriverBindingSupported,\r
   VlanConfigDriverBindingStart,\r
@@ -136,7 +127,7 @@ VlanConfigDriverBindingStart (
   //\r
   Status = gBS->OpenProtocol (\r
                   ControllerHandle,\r
-                  &gVlanConfigPrivateGuid,\r
+                  &gEfiCallerIdGuid,\r
                   (VOID **) &PrivateData,\r
                   This->DriverBindingHandle,\r
                   ControllerHandle,\r
@@ -203,7 +194,7 @@ VlanConfigDriverBindingStart (
   //\r
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &ControllerHandle,\r
-                  &gVlanConfigPrivateGuid,\r
+                  &gEfiCallerIdGuid,\r
                   PrivateData,\r
                   NULL\r
                   );\r
@@ -266,7 +257,7 @@ VlanConfigDriverBindingStop (
   //\r
   Status = gBS->OpenProtocol (\r
                   ControllerHandle,\r
-                  &gVlanConfigPrivateGuid,\r
+                  &gEfiCallerIdGuid,\r
                   (VOID **) &PrivateData,\r
                   This->DriverBindingHandle,\r
                   ControllerHandle,\r
@@ -277,17 +268,20 @@ VlanConfigDriverBindingStop (
   }\r
   ASSERT (PrivateData->Signature == VLAN_CONFIG_PRIVATE_DATA_SIGNATURE);\r
 \r
-  //\r
-  // Uninstall VLAN configuration Form\r
-  //\r
-  UninstallVlanConfigForm (PrivateData);\r
+  if (NumberOfChildren != 0) {\r
+    if (NumberOfChildren != 1 || ChildHandleBuffer[0] != PrivateData->DriverHandle) {\r
+      return EFI_DEVICE_ERROR;\r
+    }\r
+\r
+    return UninstallVlanConfigForm (PrivateData);\r
+  }\r
 \r
   //\r
   // Uninstall the private GUID\r
   //\r
   Status = gBS->UninstallMultipleProtocolInterfaces (\r
                   ControllerHandle,\r
-                  &gVlanConfigPrivateGuid,\r
+                  &gEfiCallerIdGuid,\r
                   PrivateData,\r
                   NULL\r
                   );\r