summaryrefslogtreecommitdiffstats
path: root/EmbeddedPkg/Universal/MmcDxe/Mmc.c
diff options
context:
space:
mode:
authorJun Nie <jun.nie@linaro.org>2017-07-04 23:43:16 +0800
committerLeif Lindholm <leif.lindholm@linaro.org>2017-07-05 16:07:54 +0100
commit7bb5fad566afa2dd9feef5ae1ecc658d627f5ac2 (patch)
tree08bbe030e037ecd0c704fba0520100997f93faf7 /EmbeddedPkg/Universal/MmcDxe/Mmc.c
parente4129b0e5897d76885170bec9da996b266f185f9 (diff)
downloadedk2-7bb5fad566afa2dd9feef5ae1ecc658d627f5ac2.tar.gz
edk2-7bb5fad566afa2dd9feef5ae1ecc658d627f5ac2.tar.bz2
edk2-7bb5fad566afa2dd9feef5ae1ecc658d627f5ac2.zip
EmbeddedPkg/MmcDxe: Align the ExtCSD buffer
ExtCSD structure may be read via DMA. So align it to page to avoid data corruption. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jun Nie <jun.nie@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Diffstat (limited to 'EmbeddedPkg/Universal/MmcDxe/Mmc.c')
-rw-r--r--EmbeddedPkg/Universal/MmcDxe/Mmc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/EmbeddedPkg/Universal/MmcDxe/Mmc.c b/EmbeddedPkg/Universal/MmcDxe/Mmc.c
index 570e1d2e43..3b9dc18727 100644
--- a/EmbeddedPkg/Universal/MmcDxe/Mmc.c
+++ b/EmbeddedPkg/Universal/MmcDxe/Mmc.c
@@ -171,6 +171,9 @@ EFI_STATUS DestroyMmcHostInstance (
if (MmcHostInstance->BlockIo.Media) {
FreePool(MmcHostInstance->BlockIo.Media);
}
+ if (MmcHostInstance->CardInfo.ECSDData) {
+ FreePages (MmcHostInstance->CardInfo.ECSDData, EFI_SIZE_TO_PAGES (sizeof (ECSD)));
+ }
FreePool (MmcHostInstance);
return Status;