:: commit cc0ff5ef955a03271deaf994577d6c4949fc27f7

Mintsuki <mintsuki@protonmail.com> — 2025-08-06 16:45

parents: 1fdcdcfbdc

drivers/disk: EFI: Do not disable write caching unnecessarily

See #525
diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 7d83614f..08141555 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -451,8 +451,6 @@ struct volume *disk_volume_from_efi_handle(EFI_HANDLE efi_handle) {
         return pxe_from_efi_handle(efi_handle);
     }
 
-    block_io->Media->WriteCaching = false;
-
     uint64_t bdev_size = ((uint64_t)block_io->Media->LastBlock + 1) * (uint64_t)block_io->Media->BlockSize;
     if (bdev_size < UNIQUE_SECTOR_POOL_SIZE) {
         goto fallback;
@@ -675,6 +673,8 @@ fail:
 
         status = drive->WriteBlocks(drive, drive->Media->MediaId, 0, 4096, unique_sector_pool);
 
+        drive->Media->WriteCaching = true;
+
         struct volume *block = ext_mem_alloc(sizeof(struct volume));
 
         if ((status || drive->Media->ReadOnly) && drive->Media->BlockSize == 2048) {
tab: 248 wrap: offon