mirror of
https://github.com/ipxe/ipxe
synced 2025-12-13 07:20:47 +03:00
[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>
This commit is contained in:
@@ -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 ) );
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user