mirror of https://github.com/ipxe/ipxe.git
[efi] Disambiguate errors returned by ConnectController
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/110/head
parent
efc1ae5aba
commit
bdf0e029ae
|
@ -39,6 +39,20 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Disambiguate the various error causes */
|
||||||
|
#define EINFO_EEFI_CONNECT \
|
||||||
|
__einfo_uniqify ( EINFO_EPLATFORM, 0x01, \
|
||||||
|
"Could not connect controllers" )
|
||||||
|
#define EINFO_EEFI_CONNECT_PROHIBITED \
|
||||||
|
__einfo_platformify ( EINFO_EEFI_CONNECT, \
|
||||||
|
EFI_SECURITY_VIOLATION, \
|
||||||
|
"Connecting controllers prohibited by " \
|
||||||
|
"security policy" )
|
||||||
|
#define EEFI_CONNECT_PROHIBITED \
|
||||||
|
__einfo_error ( EINFO_EEFI_CONNECT_PROHIBITED )
|
||||||
|
#define EEFI_CONNECT( efirc ) EPLATFORM ( EINFO_EEFI_CONNECT, efirc, \
|
||||||
|
EEFI_CONNECT_PROHIBITED )
|
||||||
|
|
||||||
static EFI_DRIVER_BINDING_PROTOCOL efi_driver_binding;
|
static EFI_DRIVER_BINDING_PROTOCOL efi_driver_binding;
|
||||||
|
|
||||||
/** List of controlled EFI devices */
|
/** List of controlled EFI devices */
|
||||||
|
@ -457,7 +471,7 @@ static int efi_driver_connect ( EFI_HANDLE device ) {
|
||||||
efi_handle_name ( device ) );
|
efi_handle_name ( device ) );
|
||||||
if ( ( efirc = bs->ConnectController ( device, drivers, NULL,
|
if ( ( efirc = bs->ConnectController ( device, drivers, NULL,
|
||||||
FALSE ) ) != 0 ) {
|
FALSE ) ) != 0 ) {
|
||||||
rc = -EEFI ( 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 ) );
|
||||||
return rc;
|
return rc;
|
||||||
|
|
Loading…
Reference in New Issue