david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[efi] Attempt to start only drivers claiming support for a device

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2014-07-08 01:02:35 +01:00
parent bcfd3dea1d
commit 56b2f66dd2
1 changed files with 7 additions and 0 deletions

View File

@ -269,6 +269,13 @@ efi_driver_start ( EFI_DRIVER_BINDING_PROTOCOL *driver __unused,
/* Try to start this device */
for_each_table_entry ( efidrv, EFI_DRIVERS ) {
if ( ( rc = efidrv->supported ( device ) ) != 0 ) {
DBGC ( device, "EFIDEV %p %s is not supported by "
"driver \"%s\": %s\n",
device, efi_devpath_text ( efidev->path ),
efidrv->name, strerror ( rc ) );
continue;
}
if ( ( rc = efidrv->start ( efidev ) ) == 0 ) {
efidev->driver = efidrv;
DBGC ( device, "EFIDRV %p %s using driver \"%s\"\n",