Except the typo "incorrecnt" needs to be "incorrect" in commit log, others are 
good to me.

With typo fixed, Reviewed-by: Star Zeng <star.z...@intel.com>

-----Original Message-----
From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] 
Sent: Sunday, November 5, 2017 5:31 PM
To: edk2-devel@lists.01.org
Cc: Tian, Feng <feng.t...@intel.com>; Zeng, Star <star.z...@intel.com>; Dong, 
Eric <eric.d...@intel.com>; Ard Biesheuvel <ard.biesheu...@linaro.org>
Subject: [PATCH v2] MdeModulePkg/SdMmcPciHcDxe: call SdMmcFreeTrb() to complete 
sync operation

Currently, we complete a synchronous operation without unmapping the DMA 
mappings, and free the pages using FreePages () rather than calling 
EFI_PCI_IO_PROTOCOL::FreeBuffer. This is simply incorrecnt, but it also breaks 
non-coherent DMA as well as DMA protection and/or memory encryption so let's do 
it correctly and call SdMmcFreeTrb() instead.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
 MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c 
b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c
index 23faec5e2be0..0be8828abfcc 100644
--- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c
+++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c
@@ -1008,13 +1008,7 @@ SdMmcPassThruPassThru (
   }
 
 Done:
-  if ((Trb != NULL) && (Trb->AdmaDesc != NULL)) {
-    FreePages (Trb->AdmaDesc, Trb->AdmaPages);
-  }
-
-  if (Trb != NULL) {
-    FreePool (Trb);
-  }
+  SdMmcFreeTrb (Trb);
 
   return Status;
 }
--
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to