projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "imx: Introduce CONFIG_SPL_FORCE_MMC_BOOT to force MMC boot on falcon mode"
[oweals/u-boot.git]
/
cmd
/
fastboot.c
diff --git
a/cmd/fastboot.c
b/cmd/fastboot.c
index e6ae0570d5b2f29bc4f8125c78603cac7f6fa126..1b4215114d7e5d7e7393667f9b3365457fa07459 100644
(file)
--- a/
cmd/fastboot.c
+++ b/
cmd/fastboot.c
@@
-13,6
+13,7
@@
#include <fastboot.h>
#include <net.h>
#include <usb.h>
#include <fastboot.h>
#include <net.h>
#include <usb.h>
+#include <watchdog.h>
static int do_fastboot_udp(int argc, char *const argv[],
uintptr_t buf_addr, size_t buf_size)
static int do_fastboot_udp(int argc, char *const argv[],
uintptr_t buf_addr, size_t buf_size)
@@
-38,15
+39,20
@@
static int do_fastboot_usb(int argc, char *const argv[],
#if CONFIG_IS_ENABLED(USB_FUNCTION_FASTBOOT)
int controller_index;
char *usb_controller;
#if CONFIG_IS_ENABLED(USB_FUNCTION_FASTBOOT)
int controller_index;
char *usb_controller;
+ char *endp;
int ret;
if (argc < 2)
return CMD_RET_USAGE;
usb_controller = argv[1];
int ret;
if (argc < 2)
return CMD_RET_USAGE;
usb_controller = argv[1];
- controller_index = simple_strtoul(usb_controller, NULL, 0);
+ controller_index = simple_strtoul(usb_controller, &endp, 0);
+ if (*endp != '\0') {
+ pr_err("Error: Wrong USB controller index format\n");
+ return CMD_RET_FAILURE;
+ }
- ret =
board_usb_init(controller_index, USB_INIT_DEVICE
);
+ ret =
usb_gadget_initialize(controller_index
);
if (ret) {
pr_err("USB init failed: %d\n", ret);
return CMD_RET_FAILURE;
if (ret) {
pr_err("USB init failed: %d\n", ret);
return CMD_RET_FAILURE;
@@
-69,6
+75,7
@@
static int do_fastboot_usb(int argc, char *const argv[],
break;
if (ctrlc())
break;
break;
if (ctrlc())
break;
+ WATCHDOG_RESET();
usb_gadget_handle_interrupts(controller_index);
}
usb_gadget_handle_interrupts(controller_index);
}
@@
-77,7
+84,7
@@
static int do_fastboot_usb(int argc, char *const argv[],
exit:
g_dnl_unregister();
g_dnl_clear_detach();
exit:
g_dnl_unregister();
g_dnl_clear_detach();
-
board_usb_cleanup(controller_index, USB_INIT_DEVICE
);
+
usb_gadget_release(controller_index
);
return ret;
#else
return ret;
#else
@@
-120,6
+127,12
@@
NXTARG:
;
}
;
}
+ /* Handle case when USB controller param is just '-' */
+ if (argc == 1) {
+ pr_err("Error: Incorrect USB controller index\n");
+ return CMD_RET_USAGE;
+ }
+
fastboot_init((void *)buf_addr, buf_size);
if (!strcmp(argv[1], "udp"))
fastboot_init((void *)buf_addr, buf_size);
if (!strcmp(argv[1], "udp"))