summaryrefslogtreecommitdiff
path: root/src/boot/efi/part-discovery.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/efi/part-discovery.c')
-rw-r--r--src/boot/efi/part-discovery.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/boot/efi/part-discovery.c b/src/boot/efi/part-discovery.c
index de6d6112a1..14479c06ea 100644
--- a/src/boot/efi/part-discovery.c
+++ b/src/boot/efi/part-discovery.c
@@ -202,6 +202,10 @@ static EFI_STATUS find_device(const EFI_GUID *type, EFI_HANDLE *device, EFI_DEVI
if (err != EFI_SUCCESS)
return err;
+ /* The drivers for other partitions on this drive may not be initialized on fastboot firmware, so we
+ * have to ask the firmware to do just that. */
+ (void) BS->ConnectController(disk_handle, NULL, NULL, true);
+
err = BS->HandleProtocol(disk_handle, &BlockIoProtocol, (void **)&block_io);
if (err != EFI_SUCCESS)
return err;