:: commit a0b5faddf952a93584332b94ee458576133c1a70

Mintsuki <mintsuki@protonmail.com> — 2025-09-13 20:11

parents: 2431c24eed

drivers/disk: Partial revert of f39f51d0; ensure EFI handles are HDD type before attempting write-back method

diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 8169d9a4..87a0ac62 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -408,7 +408,7 @@ static struct volume *volume_by_unique_sector(void *b2b) {
     return NULL;
 }
 
-static bool validate_efi_handle(EFI_HANDLE efi_handle) {
+static bool is_efi_handle_hdd(EFI_HANDLE efi_handle) {
     EFI_STATUS status;
 
     EFI_GUID dp_guid = EFI_DEVICE_PATH_PROTOCOL_GUID;
@@ -424,11 +424,14 @@ static bool validate_efi_handle(EFI_HANDLE efi_handle) {
             break;
         }
 
-        if (dp->Type != HARDWARE_DEVICE_PATH || dp->SubType != HW_PCI_DP) {
+        if (dp->Type != MEDIA_DEVICE_PATH) {
             continue;
         }
 
-        return true;
+        switch (dp->SubType) {
+            case MEDIA_HARDDRIVE_DP:
+                return true;
+        }
     }
 
     return false;
@@ -470,7 +473,7 @@ struct volume *disk_volume_from_efi_handle(EFI_HANDLE efi_handle) {
 
     // Fallback to read-back method
 fallback:;
-    if (!validate_efi_handle(efi_handle)) {
+    if (!is_efi_handle_hdd(efi_handle)) {
         return NULL;
     }
 
tab: 248 wrap: offon