aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/fastboot.c2
-rw-r--r--drivers/usb/gadget/f_fastboot.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/cmd/fastboot.c b/cmd/fastboot.c
index dd223b1554..b498e4b22b 100644
--- a/cmd/fastboot.c
+++ b/cmd/fastboot.c
@@ -83,9 +83,9 @@ static int do_fastboot_usb(int argc, char *const argv[],
ret = CMD_RET_SUCCESS;
exit:
+ usb_gadget_release(controller_index);
g_dnl_unregister();
g_dnl_clear_detach();
- usb_gadget_release(controller_index);
return ret;
#else
diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
index d0e92c7a07..07b1681c8a 100644
--- a/drivers/usb/gadget/f_fastboot.c
+++ b/drivers/usb/gadget/f_fastboot.c
@@ -544,6 +544,7 @@ static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
case FASTBOOT_COMMAND_REBOOT_FASTBOOTD:
case FASTBOOT_COMMAND_REBOOT_RECOVERY:
fastboot_func->in_req->complete = compl_do_reset;
+ g_dnl_trigger_detach();
break;
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
case FASTBOOT_COMMAND_ACMD: