aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2020-10-01 23:23:10 +0100
committerMichael Brown <mcb30@ipxe.org>2020-10-02 00:36:33 +0100
commitc70b3e04e86cefca335e36f883829d89583a6921 (patch)
tree5e6c2e3c67ce11cc01b457c2d1f554e954fbc74c /src
parentfbb5989fd9a5ddbbde6e273c7bb3ba75ec9f1ebb (diff)
downloadipxe-c70b3e04e86cefca335e36f883829d89583a6921.tar.gz
[efi] Always enable recursion when calling ConnectController()
There appears to be no reason for avoiding recursion when calling ConnectController(), and recursion provides the least surprising behaviour. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r--src/interface/efi/efi_block.c2
-rw-r--r--src/interface/efi/efi_driver.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/interface/efi/efi_block.c b/src/interface/efi/efi_block.c
index 64d1e1980..0024fbbea 100644
--- a/src/interface/efi/efi_block.c
+++ b/src/interface/efi/efi_block.c
@@ -237,7 +237,7 @@ static void efi_block_connect ( struct san_device *sandev ) {
/* Try to connect all possible drivers to this block device */
if ( ( efirc = bs->ConnectController ( block->handle, NULL,
- NULL, 1 ) ) != 0 ) {
+ NULL, TRUE ) ) != 0 ) {
rc = -EEFI ( efirc );
DBGC ( sandev, "EFIBLK %#02x could not connect drivers: %s\n",
sandev->drive, strerror ( rc ) );
diff --git a/src/interface/efi/efi_driver.c b/src/interface/efi/efi_driver.c
index 760ee41a8..a6c0f3032 100644
--- a/src/interface/efi/efi_driver.c
+++ b/src/interface/efi/efi_driver.c
@@ -470,7 +470,7 @@ static int efi_driver_connect ( EFI_HANDLE device ) {
DBGC ( device, "EFIDRV %s connecting new drivers\n",
efi_handle_name ( device ) );
if ( ( efirc = bs->ConnectController ( device, drivers, NULL,
- FALSE ) ) != 0 ) {
+ TRUE ) ) != 0 ) {
rc = -EEFI_CONNECT ( efirc );
DBGC ( device, "EFIDRV %s could not connect new drivers: "
"%s\n", efi_handle_name ( device ), strerror ( rc ) );
@@ -520,7 +520,7 @@ static int efi_driver_reconnect ( EFI_HANDLE device ) {
EFI_BOOT_SERVICES *bs = efi_systab->BootServices;
/* Reconnect any available driver */
- bs->ConnectController ( device, NULL, NULL, FALSE );
+ bs->ConnectController ( device, NULL, NULL, TRUE );
return 0;
}