mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
bootstd: usb: Avoid initing USB twice
This causes crashes on some boards, e.g. rockpro64. In any case, we should not do it. Check the usb_started flag to avoid this. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Jonas Karlman <jonas@kwiboo.se> Tested-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
9fea3a799d
commit
8c29b73278
@ -22,6 +22,9 @@ static int usb_bootdev_bind(struct udevice *dev)
|
||||
|
||||
static int usb_bootdev_hunt(struct bootdev_hunter *info, bool show)
|
||||
{
|
||||
if (usb_started)
|
||||
return 0;
|
||||
|
||||
return usb_init();
|
||||
}
|
||||
|
||||
|
@ -306,6 +306,7 @@ static int bootdev_test_hunter(struct unit_test_state *uts)
|
||||
{
|
||||
struct bootstd_priv *std;
|
||||
|
||||
usb_started = false;
|
||||
test_set_skip_delays(true);
|
||||
|
||||
/* get access to the used hunters */
|
||||
@ -346,6 +347,7 @@ static int bootdev_test_cmd_hunt(struct unit_test_state *uts)
|
||||
struct bootstd_priv *std;
|
||||
|
||||
test_set_skip_delays(true);
|
||||
usb_started = false;
|
||||
|
||||
/* get access to the used hunters */
|
||||
ut_assertok(bootstd_get_priv(&std));
|
||||
@ -474,6 +476,7 @@ BOOTSTD_TEST(bootdev_test_bootable, UT_TESTF_DM | UT_TESTF_SCAN_FDT);
|
||||
/* Check hunting for bootdev of a particular priority */
|
||||
static int bootdev_test_hunt_prio(struct unit_test_state *uts)
|
||||
{
|
||||
usb_started = false;
|
||||
test_set_skip_delays(true);
|
||||
|
||||
console_record_reset_enable();
|
||||
@ -502,6 +505,8 @@ static int bootdev_test_hunt_label(struct unit_test_state *uts)
|
||||
struct bootstd_priv *std;
|
||||
int mflags;
|
||||
|
||||
usb_started = false;
|
||||
|
||||
/* get access to the used hunters */
|
||||
ut_assertok(bootstd_get_priv(&std));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user