"ASSERT (SataPrivateData != NULL)" is just a few lines higher up.

Cc: Jordan Justen <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <[email protected]>
---
 OvmfPkg/SataControllerDxe/SataController.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/OvmfPkg/SataControllerDxe/SataController.c 
b/OvmfPkg/SataControllerDxe/SataController.c
index ba21717cad81..e5ee63a0ab63 100644
--- a/OvmfPkg/SataControllerDxe/SataController.c
+++ b/OvmfPkg/SataControllerDxe/SataController.c
@@ -563,92 +563,90 @@ EFIAPI
 SataControllerStop (
   IN EFI_DRIVER_BINDING_PROTOCOL    *This,
   IN EFI_HANDLE                     Controller,
   IN UINTN                          NumberOfChildren,
   IN EFI_HANDLE                     *ChildHandleBuffer
   )
 {
   EFI_STATUS                        Status;
   EFI_IDE_CONTROLLER_INIT_PROTOCOL  *IdeInit;
   EFI_SATA_CONTROLLER_PRIVATE_DATA  *SataPrivateData;
 
   //
   // Open the produced protocol
   //
   Status = gBS->OpenProtocol (
                   Controller,
                   &gEfiIdeControllerInitProtocolGuid,
                   (VOID **) &IdeInit,
                   This->DriverBindingHandle,
                   Controller,
                   EFI_OPEN_PROTOCOL_GET_PROTOCOL
                   );
   if (EFI_ERROR (Status)) {
     return EFI_UNSUPPORTED;
   }
 
   SataPrivateData = SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (IdeInit);
   ASSERT (SataPrivateData != NULL);
 
   //
   // Uninstall the IDE Controller Init Protocol from this instance
   //
   Status = gBS->UninstallMultipleProtocolInterfaces (
                   Controller,
                   &gEfiIdeControllerInitProtocolGuid,
                   &(SataPrivateData->IdeInit),
                   NULL
                   );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  if (SataPrivateData != NULL) {
-    if (SataPrivateData->DisqualifiedModes != NULL) {
-      FreePool (SataPrivateData->DisqualifiedModes);
-    }
-    if (SataPrivateData->IdentifyData != NULL) {
-      FreePool (SataPrivateData->IdentifyData);
-    }
-    if (SataPrivateData->IdentifyValid != NULL) {
-      FreePool (SataPrivateData->IdentifyValid);
-    }
-    FreePool (SataPrivateData);
+  if (SataPrivateData->DisqualifiedModes != NULL) {
+    FreePool (SataPrivateData->DisqualifiedModes);
   }
+  if (SataPrivateData->IdentifyData != NULL) {
+    FreePool (SataPrivateData->IdentifyData);
+  }
+  if (SataPrivateData->IdentifyValid != NULL) {
+    FreePool (SataPrivateData->IdentifyValid);
+  }
+  FreePool (SataPrivateData);
 
   //
   // Restore original PCI attributes
   //
   SataPrivateData->PciIo->Attributes (
                             SataPrivateData->PciIo,
                             EfiPciIoAttributeOperationSet,
                             SataPrivateData->OriginalPciAttributes,
                             NULL
                             );
 
   //
   // Close protocols opened by Sata Controller driver
   //
   return gBS->CloseProtocol (
                 Controller,
                 &gEfiPciIoProtocolGuid,
                 This->DriverBindingHandle,
                 Controller
                 );
 }
 
 /**
   Calculate the flat array subscript of a (Channel, Device) pair.
 
   @param[in] SataPrivateData  The private data structure corresponding to the
                               SATA controller that attaches the device for
                               which the flat array subscript is being
                               calculated.
 
   @param[in] Channel          The channel (ie. port) number on the SATA
                               controller that the device is attached to.
 
   @param[in] Device           The device number on the channel.
 
   @return  The flat array subscript suitable for indexing DisqualifiedModes,
            IdentifyData, and IdentifyValid.
 **/
-- 
1.8.3.1


_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to