a5bd9f6
From 3a38d333bfdcdca7546b7c005453cd02a78c8423 Mon Sep 17 00:00:00 2001
58a808c
From: Matthew Garrett <mjg@redhat.com>
a5bd9f6
Date: Tue, 10 Jul 2012 11:58:52 -0400
a5bd9f6
Subject: [PATCH 347/364] Add support for crappy cd craparino
a5bd9f6
a5bd9f6
---
a5bd9f6
 grub-core/disk/efi/efidisk.c | 10 ++++++++++
a5bd9f6
 1 file changed, 10 insertions(+)
58a808c
58a808c
diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
a5bd9f6
index e168d07..3a006ab 100644
58a808c
--- a/grub-core/disk/efi/efidisk.c
58a808c
+++ b/grub-core/disk/efi/efidisk.c
a5bd9f6
@@ -794,6 +794,16 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
58a808c
   if (! ldp)
58a808c
     return 0;
58a808c
 
58a808c
+  if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE &&
58a808c
+      (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE))
58a808c
+    {
58a808c
+      ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
58a808c
+      ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
58a808c
+      ldp->length[0] = 4;
58a808c
+      ldp->length[1] = 0;
58a808c
+      ldp = find_last_device_path(dp);
58a808c
+    }
58a808c
+
58a808c
   if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE
58a808c
       && (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp)
58a808c
 	  == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE))
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6