ac3a84
From 57b58ec8a72f00a66b43e7975ed3825dc28b851f Mon Sep 17 00:00:00 2001
ac3a84
From: Jan Janssen <medhefgo@web.de>
ac3a84
Date: Sun, 27 Nov 2022 13:53:30 +0100
ac3a84
Subject: [PATCH] boot: Make sure all partitions drivers are connected
ac3a84
ac3a84
(cherry picked from commit 7f19be808c9cb9cabcaf1e48ccff875fa8191d3a)
ac3a84
ac3a84
Related: #2138081
ac3a84
---
ac3a84
 src/boot/efi/xbootldr.c | 4 ++++
ac3a84
 1 file changed, 4 insertions(+)
ac3a84
ac3a84
diff --git a/src/boot/efi/xbootldr.c b/src/boot/efi/xbootldr.c
ac3a84
index e5b9ca7268..7fef909312 100644
ac3a84
--- a/src/boot/efi/xbootldr.c
ac3a84
+++ b/src/boot/efi/xbootldr.c
ac3a84
@@ -201,6 +201,10 @@ static EFI_STATUS find_device(EFI_HANDLE *device, EFI_DEVICE_PATH **ret_device_p
ac3a84
         if (err != EFI_SUCCESS)
ac3a84
                 return err;
ac3a84
 
ac3a84
+        /* The drivers for other partitions on this drive may not be initialized on fastboot firmware, so we
ac3a84
+         * have to ask the firmware to do just that. */
ac3a84
+        (void) BS->ConnectController(disk_handle, NULL, NULL, true);
ac3a84
+
ac3a84
         err = BS->HandleProtocol(disk_handle, &BlockIoProtocol, (void **)&block_io);
ac3a84
         if (err != EFI_SUCCESS)
ac3a84
                 return err;