From 071b7221a550eba89800493e01861a1e7d72b2b4 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Tue, 2 Jun 2009 23:51:18 +0000 Subject: [PATCH] Use DiskIo->WriteDisk() API to avoid alignment issue. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8445 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c index a54bd48ba9..c7d74eadd8 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c @@ -574,14 +574,20 @@ PartitionRestoreGptTable ( PartHdr->PartitionEntryLBA = PEntryLBA; PartitionSetCrc ((EFI_TABLE_HEADER *) PartHdr); - Status = BlockIo->WriteBlocks (BlockIo, BlockIo->Media->MediaId, PartHdr->MyLBA, BlockSize, PartHdr); + Status = DiskIo->WriteDisk ( + DiskIo, + BlockIo->Media->MediaId, + MultU64x32 (PartHdr->MyLBA, BlockIo->Media->BlockSize), + BlockSize, + PartHdr + ); if (EFI_ERROR (Status)) { goto Done; } Ptr = AllocatePool (PartHeader->NumberOfPartitionEntries * PartHeader->SizeOfPartitionEntry); if (Ptr == NULL) { - DEBUG ((EFI_D_ERROR, " Allocate pool effor\n")); + DEBUG ((EFI_D_ERROR, " Allocate pool error\n")); Status = EFI_OUT_OF_RESOURCES; goto Done; }