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