]> git.baikalelectronics.ru Git - uboot.git/commit
efi_loader: fix device-path for USB devices
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 19 Mar 2023 15:18:09 +0000 (16:18 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 25 Mar 2023 09:43:50 +0000 (10:43 +0100)
commit8809169dacd6e6dee5483e645cef7cce97069f61
treefa7317c65ed1e93b9799cdba31ea1ac42906d073
parent92b9248a421b2af7069a918094cc38804f55b550
efi_loader: fix device-path for USB devices

EFI device paths for block devices must be unique. If a non-unique device
path is discovered, probing of the block device fails.

Currently we use UsbClass() device path nodes. As multiple devices may
have the same vendor and product id these are non-unique. Instead we
should use Usb() device path nodes. They include the USB port on the
parent hub. Hence they are unique.

A USB storage device may contain multiple logical units. These can be
modeled as Ctrl() nodes.

Reported-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
lib/efi_loader/efi_device_path.c