]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix component name bugs when input Controller Name is invalid
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 19 Jan 2007 08:04:03 +0000 (08:04 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 19 Jan 2007 08:04:03 +0000 (08:04 +0000)
Fix the driver binding version for platform/OEM specific drivers

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2273 6f19259b-4bc3-4df7-8a09-765794883524

14 files changed:
EdkNt32Pkg/Dxe/WinNtThunk/Bus/BlockIo/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/BlockIo/WinNtBlockIo.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Console/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Console/Console.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Gop/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Gop/WinNtGopDriver.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/WinNtSerialIo.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/SimpleFileSystem/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/SimpleFileSystem/WinNtSimpleFileSystem.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Uga/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/Uga/WinNtUgaDriver.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/ComponentName.c
EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.c

index a24f6da602d5d38650f700dc2ef99c43217ecc04..fb9cc42492019751c417e6e04b4b0b44871cc672 100644 (file)
@@ -160,7 +160,17 @@ WinNtBlockIoComponentNameGetControllerName (
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-\r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtBlockIoDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
   //\r
   // Get our context back\r
   //\r
index 014f8a6c069eb64ea4749702f9946ee78e9e9135..c160aaf8361df799e33cf4387ed893385dc5d223 100644 (file)
@@ -66,7 +66,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtBlockIoDriverBinding = {
   WinNtBlockIoDriverBindingSupported,\r
   WinNtBlockIoDriverBindingStart,\r
   WinNtBlockIoDriverBindingStop,\r
   WinNtBlockIoDriverBindingSupported,\r
   WinNtBlockIoDriverBindingStart,\r
   WinNtBlockIoDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
index d10f9ab68e058eb712f58e1481a44312a1400fe1..81db085fd45b65700d32cd78de9a68bb83e83c08 100644 (file)
@@ -160,7 +160,17 @@ WinNtConsoleComponentNameGetControllerName (
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-\r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtConsoleDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get out context back\r
   //\r
   //\r
   // Get out context back\r
   //\r
index 0bc344c1ec3787bd92b4b7ecfdca8284321ced13..0027069b7aa433f15bfeaae4838f4b2847a204e5 100644 (file)
@@ -50,7 +50,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtConsoleDriverBinding = {
   WinNtConsoleDriverBindingSupported,\r
   WinNtConsoleDriverBindingStart,\r
   WinNtConsoleDriverBindingStop,\r
   WinNtConsoleDriverBindingSupported,\r
   WinNtConsoleDriverBindingStart,\r
   WinNtConsoleDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
index 9263b3de1ea042e67431f7777d11d3157460058e..8bdf1130a1ecb3e0437b7e70be95010b2e2e76ae 100644 (file)
@@ -162,8 +162,18 @@ WinNtGopComponentNameGetControllerName (
   if (ChildHandle != NULL) {
     return EFI_UNSUPPORTED;
   }
   if (ChildHandle != NULL) {
     return EFI_UNSUPPORTED;
   }
-
-  //
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtGopDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+  //\r
   // Get our context back
   //
   Status = gBS->OpenProtocol (
   // Get our context back
   //
   Status = gBS->OpenProtocol (
index 067033b4354f7482d33068f67275b829af0d8c89..60131659967eb2a9fe00bb86bfe8bf6a58db9675 100644 (file)
@@ -28,7 +28,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtGopDriverBinding = {
   WinNtGopDriverBindingSupported,
   WinNtGopDriverBindingStart,
   WinNtGopDriverBindingStop,
   WinNtGopDriverBindingSupported,
   WinNtGopDriverBindingStart,
   WinNtGopDriverBindingStop,
-  0x10,
+  0xa,
   NULL,
   NULL
 };
   NULL,
   NULL
 };
index 82057866c72bf2139fc1d18fc0be29069242d0dc..d22f030f4b6a5f913732fca3145750d0750a61a3 100644 (file)
@@ -154,6 +154,18 @@ WinNtSerialIoComponentNameGetControllerName (
   EFI_SERIAL_IO_PROTOCOL        *SerialIo;\r
   WIN_NT_SERIAL_IO_PRIVATE_DATA *Private;\r
 \r
   EFI_SERIAL_IO_PROTOCOL        *SerialIo;\r
   WIN_NT_SERIAL_IO_PRIVATE_DATA *Private;\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtSerialIoDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // This is a bus driver, so ChildHandle must not be NULL.\r
   //\r
   //\r
   // This is a bus driver, so ChildHandle must not be NULL.\r
   //\r
@@ -161,6 +173,15 @@ WinNtSerialIoComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  Status = EfiTestChildHandle (\r
+             ControllerHandle,\r
+             ChildHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // Get our context back\r
   //\r
   //\r
   // Get our context back\r
   //\r
index 38c03a8bbc9285947e549c339375aed806b575cb..a4a7a32b5416307875a9c2759caae2f7ca975dd8 100644 (file)
@@ -51,7 +51,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtSerialIoDriverBinding = {
   WinNtSerialIoDriverBindingSupported,\r
   WinNtSerialIoDriverBindingStart,\r
   WinNtSerialIoDriverBindingStop,\r
   WinNtSerialIoDriverBindingSupported,\r
   WinNtSerialIoDriverBindingStart,\r
   WinNtSerialIoDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
index de4abd73e717ed54e7847d0435cbc6237fe1b574..c6240df2935223935fd806037722c09a9898800a 100644 (file)
@@ -167,6 +167,17 @@ WinNtSimpleFileSystemComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtSimpleFileSystemDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
   //\r
   // Get our context back\r
   //\r
index 5552bc28be06f2b37a057ab84ec404e7fb3c09e7..bea7de40f831989a641e3b3963177de5afb2a51b 100644 (file)
@@ -30,7 +30,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtSimpleFileSystemDriverBinding = {
   WinNtSimpleFileSystemDriverBindingSupported,\r
   WinNtSimpleFileSystemDriverBindingStart,\r
   WinNtSimpleFileSystemDriverBindingStop,\r
   WinNtSimpleFileSystemDriverBindingSupported,\r
   WinNtSimpleFileSystemDriverBindingStart,\r
   WinNtSimpleFileSystemDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
index 7b9c2972d0fa6bc76efe98bc60edb5775b19ce3d..910771964d05afb5c49738f1159f3030ed68891a 100644 (file)
@@ -161,6 +161,17 @@ WinNtUgaComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtUgaDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
   //\r
   // Get our context back\r
   //\r
index 58908d9f073c6753d62f864ccc503a02b503a03b..a270ec7b0d0a1806a6d539f2e2f3fdc2dbd0a96a 100644 (file)
@@ -31,7 +31,7 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtUgaDriverBinding = {
   WinNtUgaDriverBindingSupported,\r
   WinNtUgaDriverBindingStart,\r
   WinNtUgaDriverBindingStop,\r
   WinNtUgaDriverBindingSupported,\r
   WinNtUgaDriverBindingStart,\r
   WinNtUgaDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
index 7dee4bd9a4cb0f10f2fe209120a2636d8d863a45..b03fc8b2649ce0453282119be454b32bb6ac9bc3 100644 (file)
@@ -154,6 +154,18 @@ WinNtBusDriverComponentNameGetControllerName (
   EFI_WIN_NT_IO_PROTOCOL  *WinNtIo;\r
   WIN_NT_IO_DEVICE        *Private;\r
 \r
   EFI_WIN_NT_IO_PROTOCOL  *WinNtIo;\r
   WIN_NT_IO_DEVICE        *Private;\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gWinNtBusDriverBinding.DriverBindingHandle,\r
+             &gEfiWinNtThunkProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // This is a bus driver, so ChildHandle can not be NULL.\r
   //\r
   //\r
   // This is a bus driver, so ChildHandle can not be NULL.\r
   //\r
@@ -161,6 +173,15 @@ WinNtBusDriverComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  Status = EfiTestChildHandle (\r
+             ControllerHandle,\r
+             ChildHandle,\r
+             &gEfiWinNtThunkProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // Get our context back\r
   //\r
   //\r
   // Get our context back\r
   //\r
index 4ce5286c7f8018322295f1ab29093ac8d1117bb6..5eddc08bb420750a13233b1bd0cbe5f9b3c458b4 100644 (file)
@@ -114,7 +114,7 @@ EFI_DRIVER_BINDING_PROTOCOL           gWinNtBusDriverBinding = {
   WinNtBusDriverBindingSupported,\r
   WinNtBusDriverBindingStart,\r
   WinNtBusDriverBindingStop,\r
   WinNtBusDriverBindingSupported,\r
   WinNtBusDriverBindingStart,\r
   WinNtBusDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r