]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpBootDxe/HttpBootDxe.c
NetworkPkg: Fix the driver model issue in HTTP Boot driver.
[mirror_edk2.git] / NetworkPkg / HttpBootDxe / HttpBootDxe.c
index 6a3033db11a0ebeaecdc62c5bdd4903ab5b9a5b5..642e0fe31ee5de9028ed749ab565786c7495ddf1 100644 (file)
@@ -321,7 +321,7 @@ HttpBootIp4DxeDriverBindingStart (
                   );\r
 \r
   if (!EFI_ERROR (Status)) {\r
-      Private = HTTP_BOOT_PRIVATE_DATA_FROM_ID(Id);\r
+    Private = HTTP_BOOT_PRIVATE_DATA_FROM_ID(Id);\r
   } else {\r
     //\r
     // Initialize the private data structure.\r
@@ -332,7 +332,6 @@ HttpBootIp4DxeDriverBindingStart (
     }\r
     Private->Signature = HTTP_BOOT_PRIVATE_DATA_SIGNATURE;\r
     Private->Controller = ControllerHandle;\r
-    Private->Image = This->ImageHandle;\r
     InitializeListHead (&Private->CacheList);\r
     //\r
     // Get the NII interface if it exists, it's not required.\r
@@ -399,8 +398,9 @@ HttpBootIp4DxeDriverBindingStart (
   if (Private->Ip4Nic == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
-  Private->Ip4Nic->Private   = Private;\r
-  Private->Ip4Nic->Signature = HTTP_BOOT_VIRTUAL_NIC_SIGNATURE;\r
+  Private->Ip4Nic->Private     = Private;\r
+  Private->Ip4Nic->ImageHandle = This->DriverBindingHandle;\r
+  Private->Ip4Nic->Signature   = HTTP_BOOT_VIRTUAL_NIC_SIGNATURE;\r
   \r
   //\r
   // Create DHCP4 child instance.\r
@@ -793,7 +793,7 @@ HttpBootIp6DxeDriverBindingStart (
                   );\r
   \r
   if (!EFI_ERROR (Status)) {\r
-      Private = HTTP_BOOT_PRIVATE_DATA_FROM_ID(Id);\r
+    Private = HTTP_BOOT_PRIVATE_DATA_FROM_ID(Id);\r
   } else {\r
     //\r
     // Initialize the private data structure.\r
@@ -804,7 +804,6 @@ HttpBootIp6DxeDriverBindingStart (
     }\r
     Private->Signature = HTTP_BOOT_PRIVATE_DATA_SIGNATURE;\r
     Private->Controller = ControllerHandle;\r
-    Private->Image = This->ImageHandle;\r
     InitializeListHead (&Private->CacheList);\r
     //\r
     // Get the NII interface if it exists, it's not required.\r
@@ -871,9 +870,10 @@ HttpBootIp6DxeDriverBindingStart (
   if (Private->Ip6Nic == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
-  Private->Ip6Nic->Private   = Private;\r
-  Private->Ip6Nic->Signature = HTTP_BOOT_VIRTUAL_NIC_SIGNATURE;\r
-\r
+  Private->Ip6Nic->Private     = Private;\r
+  Private->Ip6Nic->ImageHandle = This->DriverBindingHandle;\r
+  Private->Ip6Nic->Signature   = HTTP_BOOT_VIRTUAL_NIC_SIGNATURE;\r
+  \r
   //\r
   // Create Dhcp6 child and open Dhcp6 protocol\r
   Status = NetLibCreateServiceChild (\r