|
@@ -495,7 +495,14 @@ static int efi_driver_connect ( EFI_HANDLE device ) {
|
495
|
495
|
DBGC2_EFI_PROTOCOLS ( device, device );
|
496
|
496
|
DBGC ( device, "EFIDRV %p %s disconnecting existing drivers\n",
|
497
|
497
|
device, efi_handle_name ( device ) );
|
498
|
|
- bs->DisconnectController ( device, NULL, NULL );
|
|
498
|
+ if ( ( efirc = bs->DisconnectController ( device, NULL,
|
|
499
|
+ NULL ) ) != 0 ) {
|
|
500
|
+ rc = -EEFI ( efirc );
|
|
501
|
+ DBGC ( device, "EFIDRV %p %s could not disconnect existing "
|
|
502
|
+ "drivers: %s\n", device, efi_handle_name ( device ),
|
|
503
|
+ strerror ( rc ) );
|
|
504
|
+ /* Ignore the error and attempt to connect our drivers */
|
|
505
|
+ }
|
499
|
506
|
DBGC2 ( device, "EFIDRV %p %s after disconnecting:\n",
|
500
|
507
|
device, efi_handle_name ( device ) );
|
501
|
508
|
DBGC2_EFI_PROTOCOLS ( device, device );
|