]> 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 10:05:42 +0000 (11:05 +0100)
commitd160c944683f3306dc0183f4b05ca6782b597c5a
tree031c4130758ef57dfdc0afaef7df3f2288c82d48
parent0637334fe3e7dfc0d6a7c3c01c07be403d891e3f
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