spl: stash bootstage info before jump to next stage
[platform/kernel/u-boot.git] / common / dfu.c
index 14b60f1..546a1ab 100644 (file)
@@ -24,9 +24,18 @@ int run_usb_dnl_gadget(int usbctrl_index, char *usb_dnl_gadget)
        bool dfu_reset = false;
        int ret, i = 0;
 
-       board_usb_init(usbctrl_index, USB_INIT_DEVICE);
+       ret = board_usb_init(usbctrl_index, USB_INIT_DEVICE);
+       if (ret) {
+               error("board usb init failed\n");
+               return CMD_RET_FAILURE;
+       }
        g_dnl_clear_detach();
-       g_dnl_register(usb_dnl_gadget);
+       ret = g_dnl_register(usb_dnl_gadget);
+       if (ret) {
+               error("g_dnl_register failed");
+               return CMD_RET_FAILURE;
+       }
+
        while (1) {
                if (g_dnl_detach()) {
                        /*
@@ -79,7 +88,7 @@ exit:
        board_usb_cleanup(usbctrl_index, USB_INIT_DEVICE);
 
        if (dfu_reset)
-               run_command("reset", 0);
+               do_reset(NULL, 0, 0, NULL);
 
        g_dnl_clear_detach();