]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c
Some codes have been altered and replaced by functions of memory allocation library.
[mirror_edk2.git] / MdeModulePkg / Bus / Scsi / ScsiDiskDxe / ScsiDisk.c
index 95d5c8c0a9a3544b5268b72d8e4117acab5e489a..3c81e994bf63bebce9527c18ccdd34a3b014760b 100644 (file)
@@ -25,6 +25,7 @@ EFI_DRIVER_BINDING_PROTOCOL gScsiDiskDriverBinding = {
   NULL\r
 };\r
 \r
+\r
 /**\r
   The user Entry Point for module ScsiDisk.\r
 \r
@@ -160,17 +161,11 @@ ScsiDiskDriverBindingStart (
   UINT8                 MaxRetry;\r
   BOOLEAN               NeedRetry;\r
 \r
-  Status = gBS->AllocatePool (\r
-                  EfiBootServicesData,\r
-                  sizeof (SCSI_DISK_DEV),\r
-                  (VOID **) &ScsiDiskDevice\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
+  ScsiDiskDevice = (SCSI_DISK_DEV *) AllocateZeroPool (sizeof (SCSI_DISK_DEV));\r
+  if (ScsiDiskDevice == NULL) {\r
+    return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  ZeroMem (ScsiDiskDevice, sizeof (SCSI_DISK_DEV));\r
-\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
                   &gEfiScsiIoProtocolGuid,\r
@@ -180,7 +175,7 @@ ScsiDiskDriverBindingStart (
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    gBS->FreePool (ScsiDiskDevice);\r
+    FreePool (ScsiDiskDevice);\r
     return Status;\r
   }\r
 \r
@@ -207,27 +202,20 @@ ScsiDiskDriverBindingStart (
   // The Sense Data Array's initial size is 6\r
   //\r
   ScsiDiskDevice->SenseDataNumber = 6;\r
-  Status = gBS->AllocatePool (\r
-                  EfiBootServicesData,\r
-                  sizeof (EFI_SCSI_SENSE_DATA) * ScsiDiskDevice->SenseDataNumber,\r
-                  (VOID **) &(ScsiDiskDevice->SenseData)\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
+  ScsiDiskDevice->SenseData = (EFI_SCSI_SENSE_DATA *) AllocateZeroPool (\r
+                                 sizeof (EFI_SCSI_SENSE_DATA) * ScsiDiskDevice->SenseDataNumber\r
+                                 );\r
+  if (ScsiDiskDevice->SenseData == NULL) {\r
     gBS->CloseProtocol (\r
           Controller,\r
           &gEfiScsiIoProtocolGuid,\r
           This->DriverBindingHandle,\r
           Controller\r
           );\r
-    gBS->FreePool (ScsiDiskDevice);\r
-    return Status;\r
+    FreePool (ScsiDiskDevice);\r
+    return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  ZeroMem (\r
-    ScsiDiskDevice->SenseData,\r
-    sizeof (EFI_SCSI_SENSE_DATA) * ScsiDiskDevice->SenseDataNumber\r
-    );\r
-\r
   //\r
   // Retrieve device information\r
   //\r
@@ -239,14 +227,14 @@ ScsiDiskDriverBindingStart (
     }\r
 \r
     if (!NeedRetry) {\r
-      gBS->FreePool (ScsiDiskDevice->SenseData);\r
+      FreePool (ScsiDiskDevice->SenseData);\r
       gBS->CloseProtocol (\r
              Controller,\r
              &gEfiScsiIoProtocolGuid,\r
              This->DriverBindingHandle,\r
              Controller\r
              );\r
-      gBS->FreePool (ScsiDiskDevice);\r
+      FreePool (ScsiDiskDevice);\r
       return EFI_DEVICE_ERROR;\r
     }\r
   }\r
@@ -265,14 +253,14 @@ ScsiDiskDriverBindingStart (
   }\r
 \r
   if (EFI_ERROR (Status)) {\r
-    gBS->FreePool (ScsiDiskDevice->SenseData);\r
+    FreePool (ScsiDiskDevice->SenseData);\r
     gBS->CloseProtocol (\r
            Controller,\r
            &gEfiScsiIoProtocolGuid,\r
            This->DriverBindingHandle,\r
            Controller\r
            );\r
-    gBS->FreePool (ScsiDiskDevice);\r
+    FreePool (ScsiDiskDevice);\r
     return Status;\r
   }\r
 \r
@@ -2187,7 +2175,7 @@ ReleaseScsiDiskDeviceResources (
   }\r
 \r
   if (ScsiDiskDevice->SenseData != NULL) {\r
-    gBS->FreePool (ScsiDiskDevice->SenseData);\r
+    FreePool (ScsiDiskDevice->SenseData);\r
     ScsiDiskDevice->SenseData = NULL;\r
   }\r
 \r
@@ -2196,7 +2184,7 @@ ReleaseScsiDiskDeviceResources (
     ScsiDiskDevice->ControllerNameTable = NULL;\r
   }\r
 \r
-  gBS->FreePool (ScsiDiskDevice);\r
+  FreePool (ScsiDiskDevice);\r
 \r
   ScsiDiskDevice = NULL;\r
 }\r