mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-20 14:41:58 +00:00
stm32mp: stm32prog: handle interruption during the first enumeration
When an interruption is received during the first USB enumeration used to received the FlashLayout, with handle ctrl-c, the second enumeration is not needed and the result for stm32prog_usb_loop is false (reset is not needed). This patch avoids the need of a second ctrl to interrupt the command stm32prog. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
parent
2a4fe0ee48
commit
7f1121a85a
1 changed files with 5 additions and 2 deletions
|
@ -206,9 +206,12 @@ bool stm32prog_usb_loop(struct stm32prog_data *data, int dev)
|
|||
g_dnl_set_product(product);
|
||||
|
||||
if (stm32prog_data->phase == PHASE_FLASHLAYOUT) {
|
||||
/* forget any previous Control C */
|
||||
clear_ctrlc();
|
||||
ret = run_usb_dnl_gadget(dev, "usb_dnl_dfu");
|
||||
if (ret || stm32prog_data->phase != PHASE_FLASHLAYOUT)
|
||||
return ret;
|
||||
/* DFU reset received, no error or CtrlC */
|
||||
if (ret || stm32prog_data->phase != PHASE_FLASHLAYOUT || had_ctrlc())
|
||||
return ret; /* true = reset on DFU error */
|
||||
/* prepare the second enumeration with the FlashLayout */
|
||||
stm32prog_dfu_init(data);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue