On sam., août 19, 2023 at 16:23, Marek Vasut <[email protected]> wrote:

> In case anything errors out during the DFU registration, detach
> the controller instead of bailing out right away. This way, the
> controller can be reattached on next attempt.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Angus Ainslie <[email protected]>
> Cc: Dmitrii Merkurev <[email protected]>
> Cc: Eddie Cai <[email protected]>
> Cc: Kever Yang <[email protected]>
> Cc: Lukasz Majewski <[email protected]>
> Cc: Miquel Raynal <[email protected]>
> Cc: Mattijs Korpershoek <[email protected]>
> Cc: Nishanth Menon <[email protected]>
> Cc: Patrice Chotard <[email protected]>
> Cc: Patrick Delaunay <[email protected]>
> Cc: Philipp Tomsich <[email protected]>
> Cc: Simon Glass <[email protected]>
> Cc: Stefan Roese <[email protected]>
> Cc: [email protected]
> ---
>  common/dfu.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Reviewed-by: Mattijs Korpershoek <[email protected]>

>
> diff --git a/common/dfu.c b/common/dfu.c
> index 96190889ab7..32fba84da16 100644
> --- a/common/dfu.c
> +++ b/common/dfu.c
> @@ -34,7 +34,8 @@ int run_usb_dnl_gadget(int usbctrl_index, char 
> *usb_dnl_gadget)
>       ret = g_dnl_register(usb_dnl_gadget);
>       if (ret) {
>               pr_err("g_dnl_register failed");
> -             return CMD_RET_FAILURE;
> +             ret = CMD_RET_FAILURE;
> +             goto err_detach;
>       }
>  
>  #ifdef CONFIG_DFU_TIMEOUT
> @@ -106,6 +107,7 @@ int run_usb_dnl_gadget(int usbctrl_index, char 
> *usb_dnl_gadget)
>       }
>  exit:
>       g_dnl_unregister();
> +err_detach:
>       usb_gadget_release(usbctrl_index);
>  
>       if (dfu_reset)
> -- 
> 2.40.1

Reply via email to