]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressBlockIo.c
MdeModulePkg NvmExpressDxe: Ensure write-through for NVMe write command
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / NvmExpressDxe / NvmExpressBlockIo.c
index 5ac90745bde15ec72761caa2667e840af4125865..92d7d923df437cb8c6f998a2aa627464deac943f 100644 (file)
@@ -127,7 +127,10 @@ WriteSectors (
 \r
   CommandPacket.NvmeCmd->Cdw10 = (UINT32)Lba;\r
   CommandPacket.NvmeCmd->Cdw11 = (UINT32)RShiftU64(Lba, 32);\r
-  CommandPacket.NvmeCmd->Cdw12 = (Blocks - 1) & 0xFFFF;\r
+  //\r
+  // Set Force Unit Access bit (bit 30) to use write-through behaviour\r
+  //\r
+  CommandPacket.NvmeCmd->Cdw12 = ((Blocks - 1) & 0xFFFF) | BIT30;\r
 \r
   CommandPacket.MetadataBuffer = NULL;\r
   CommandPacket.MetadataLength = 0;\r