diff options
author | Simon Glass <sjg@chromium.org> | 2023-09-20 07:29:49 -0600 |
---|---|---|
committer | Bin Meng <bmeng@tinylab.org> | 2023-09-22 06:05:40 +0800 |
commit | 1b1d36ec58f43585081b387ee44053278e480171 (patch) | |
tree | 20e6b96ee8dfb25936c405996fab16efc9f2236f /drivers/usb | |
parent | 8c11d19e7599442d0325f79c7c7705b951f821d4 (diff) | |
download | u-boot-1b1d36ec58f43585081b387ee44053278e480171.zip u-boot-1b1d36ec58f43585081b387ee44053278e480171.tar.gz u-boot-1b1d36ec58f43585081b387ee44053278e480171.tar.bz2 |
bootstd: Keep track of use of usb stop
When 'usb stop' is run, doing 'bootflow scan' does not run the USB hunter
again so does not see any devices. Fix this by telling bootstd about the
state of USB.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/usb-uclass.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c index e5fe949..a1cd0ad 100644 --- a/drivers/usb/host/usb-uclass.c +++ b/drivers/usb/host/usb-uclass.c @@ -9,6 +9,7 @@ #define LOG_CATEGORY UCLASS_USB #include <common.h> +#include <bootdev.h> #include <dm.h> #include <errno.h> #include <log.h> @@ -208,6 +209,13 @@ int usb_stop(void) #ifdef CONFIG_USB_STORAGE usb_stor_reset(); #endif + if (CONFIG_IS_ENABLED(BOOTSTD)) { + int ret; + + ret = bootdev_unhunt(UCLASS_USB); + if (IS_ENABLED(CONFIG_BOOTSTD_FULL) && ret && ret != -EALREADY) + printf("failed to unhunt USB (err=%dE)\n", ret); + } uc_priv->companion_device_count = 0; usb_started = 0; |