From 27e9ee147aa9918e23a1f9a0940e37f9481057ae Mon Sep 17 00:00:00 2001 From: Curtis Larsen Date: Tue, 5 Aug 2014 16:45:01 +0100 Subject: [efi] Report errors from attempting to disconnect existing drivers Modified-by: Michael Brown Signed-off-by: Michael Brown --- src/interface/efi/efi_driver.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/interface/efi/efi_driver.c b/src/interface/efi/efi_driver.c index 1f9c7491..b9617cbf 100644 --- a/src/interface/efi/efi_driver.c +++ b/src/interface/efi/efi_driver.c @@ -495,7 +495,14 @@ static int efi_driver_connect ( EFI_HANDLE device ) { DBGC2_EFI_PROTOCOLS ( device, device ); DBGC ( device, "EFIDRV %p %s disconnecting existing drivers\n", device, efi_handle_name ( device ) ); - bs->DisconnectController ( device, NULL, NULL ); + if ( ( efirc = bs->DisconnectController ( device, NULL, + NULL ) ) != 0 ) { + rc = -EEFI ( efirc ); + DBGC ( device, "EFIDRV %p %s could not disconnect existing " + "drivers: %s\n", device, efi_handle_name ( device ), + strerror ( rc ) ); + /* Ignore the error and attempt to connect our drivers */ + } DBGC2 ( device, "EFIDRV %p %s after disconnecting:\n", device, efi_handle_name ( device ) ); DBGC2_EFI_PROTOCOLS ( device, device ); -- cgit v1.2.3-55-g7522