]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
Use DiskIo->WriteDisk() API to avoid alignment issue.
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / PartitionDxe / Gpt.c
index a54bd48ba9b6b80f0dd137a5cd84ebf53bbd97bd..c7d74eadd8f0e937ce32b976f047970360339223 100644 (file)
@@ -574,14 +574,20 @@ PartitionRestoreGptTable (
   PartHdr->PartitionEntryLBA  = PEntryLBA;\r
   PartitionSetCrc ((EFI_TABLE_HEADER *) PartHdr);\r
 \r
-  Status = BlockIo->WriteBlocks (BlockIo, BlockIo->Media->MediaId, PartHdr->MyLBA, BlockSize, PartHdr);\r
+  Status = DiskIo->WriteDisk (\r
+                     DiskIo,\r
+                     BlockIo->Media->MediaId,\r
+                     MultU64x32 (PartHdr->MyLBA, BlockIo->Media->BlockSize),\r
+                     BlockSize,\r
+                     PartHdr\r
+                     );\r
   if (EFI_ERROR (Status)) {\r
     goto Done;\r
   }\r
 \r
   Ptr = AllocatePool (PartHeader->NumberOfPartitionEntries * PartHeader->SizeOfPartitionEntry);\r
   if (Ptr == NULL) {\r
-    DEBUG ((EFI_D_ERROR, " Allocate pool effor\n"));\r
+    DEBUG ((EFI_D_ERROR, " Allocate pool error\n"));\r
     Status = EFI_OUT_OF_RESOURCES;\r
     goto Done;\r
   }\r