]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c
MdeModulePkg/DiskIoDxe: fix source/destination pointer of overrun transfer
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / DiskIoDxe / DiskIo.c
index fc04363eba41d2d92d13855adfb16933cc9b8679..ba61300911fdaed12ca10d2ae9e1f31f6605940e 100644 (file)
@@ -354,6 +354,7 @@ DiskIoDriverBindingStop (
 /**\r
   Destroy the sub task.\r
 \r
+  @param Instance     Pointer to the DISK_IO_PRIVATE_DATA.\r
   @param Subtask      Subtask.\r
 \r
   @return LIST_ENTRY *  Pointer to the next link of subtask.\r
@@ -641,7 +642,7 @@ DiskIoCreateSubtaskList (
       InsertTailList (Subtasks, &Subtask->Link);\r
     }\r
 \r
-    Subtask = DiskIoCreateSubtask (Write, OverRunLba, 0, OverRun, WorkingBuffer, BufferPtr, Blocking);\r
+    Subtask = DiskIoCreateSubtask (Write, OverRunLba, 0, OverRun, WorkingBuffer, BufferPtr + BufferSize, Blocking);\r
     if (Subtask == NULL) {\r
       goto Done;\r
     }\r
@@ -808,7 +809,7 @@ DiskIo2ReadWriteDisk (
   BlockIo2  = Instance->BlockIo2;\r
   Media     = BlockIo->Media;\r
   Status    = EFI_SUCCESS;\r
-  Blocking  = ((Token == NULL) || (Token->Event == NULL));\r
+  Blocking  = (BOOLEAN) ((Token == NULL) || (Token->Event == NULL));\r
 \r
   if (Media->MediaId != MediaId) {\r
     return EFI_MEDIA_CHANGED;\r