mirror of https://github.com/ipxe/ipxe.git
[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>pull/154/head
parent
fbb5989fd9
commit
c70b3e04e8
|
@ -237,7 +237,7 @@ static void efi_block_connect ( struct san_device *sandev ) {
|
||||||
|
|
||||||
/* Try to connect all possible drivers to this block device */
|
/* Try to connect all possible drivers to this block device */
|
||||||
if ( ( efirc = bs->ConnectController ( block->handle, NULL,
|
if ( ( efirc = bs->ConnectController ( block->handle, NULL,
|
||||||
NULL, 1 ) ) != 0 ) {
|
NULL, TRUE ) ) != 0 ) {
|
||||||
rc = -EEFI ( efirc );
|
rc = -EEFI ( efirc );
|
||||||
DBGC ( sandev, "EFIBLK %#02x could not connect drivers: %s\n",
|
DBGC ( sandev, "EFIBLK %#02x could not connect drivers: %s\n",
|
||||||
sandev->drive, strerror ( rc ) );
|
sandev->drive, strerror ( rc ) );
|
||||||
|
|
|
@ -470,7 +470,7 @@ static int efi_driver_connect ( EFI_HANDLE device ) {
|
||||||
DBGC ( device, "EFIDRV %s connecting new drivers\n",
|
DBGC ( device, "EFIDRV %s connecting new drivers\n",
|
||||||
efi_handle_name ( device ) );
|
efi_handle_name ( device ) );
|
||||||
if ( ( efirc = bs->ConnectController ( device, drivers, NULL,
|
if ( ( efirc = bs->ConnectController ( device, drivers, NULL,
|
||||||
FALSE ) ) != 0 ) {
|
TRUE ) ) != 0 ) {
|
||||||
rc = -EEFI_CONNECT ( efirc );
|
rc = -EEFI_CONNECT ( efirc );
|
||||||
DBGC ( device, "EFIDRV %s could not connect new drivers: "
|
DBGC ( device, "EFIDRV %s could not connect new drivers: "
|
||||||
"%s\n", efi_handle_name ( device ), strerror ( rc ) );
|
"%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;
|
EFI_BOOT_SERVICES *bs = efi_systab->BootServices;
|
||||||
|
|
||||||
/* Reconnect any available driver */
|
/* Reconnect any available driver */
|
||||||
bs->ConnectController ( device, NULL, NULL, FALSE );
|
bs->ConnectController ( device, NULL, NULL, TRUE );
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue