[PATCH] efi: fix probing of EFI devices with parents

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Aug 14 00:16:48 PDT 2025


Hi Tobias,

On 13.08.25 23:40, Tobias Waldekranz wrote:
> The refactor in the referenced commit sends in the match function as
> the context data - instead of the handle we are looking for.
> 
> This meant that efi_find_device() always returned NULL, leading to all
> EFI devices with parent handles not being probed.
> 
> Fix this by sending in the handle instead.
> 
> Fixes: 4a5a9b58b568 ("drive: bus: make use of new bus_find_device helper")
> Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>

Tested-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>

Thanks for fixing this before it hit a release!

I just sent out a regression test, so this particular issue
can't go unnoticed in future.

Cheers,
Ahmad

> ---
>  drivers/efi/efi-device.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/efi/efi-device.c b/drivers/efi/efi-device.c
> index 0e6f75659f..f0e22bd140 100644
> --- a/drivers/efi/efi-device.c
> +++ b/drivers/efi/efi-device.c
> @@ -40,8 +40,7 @@ static struct efi_device *efi_find_device(efi_handle_t handle)
>  {
>  	struct device *dev;
>  
> -	dev = bus_find_device(&efi_bus, NULL, efi_device_match_handle,
> -			      efi_device_match_handle);
> +	dev = bus_find_device(&efi_bus, NULL, handle, efi_device_match_handle);
>  	if (dev)
>  		return container_of(dev, struct efi_device, dev);
>  


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list