[PATCH v1] dfu: Reset timeout in case of DFU request

Andy Shevchenko andriy.shevchenko at linux.intel.com
Mon Feb 17 09:20:43 CET 2020


On Wed, Jan 29, 2020 at 05:23:14PM +0200, Andy Shevchenko wrote:
> In case dfu command is being executed with timeout option,
> the timer may expire in the middle of DFU operation. If there
> is DFU request coming, we may simple reset timeout value
> to prevent aborting of ongoing DFU operation.
> 

Any news here? Can we get this applied for the 2020.04 release?

> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>  drivers/usb/gadget/f_dfu.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c
> index 6756155133..a4a57ba5f5 100644
> --- a/drivers/usb/gadget/f_dfu.c
> +++ b/drivers/usb/gadget/f_dfu.c
> @@ -596,6 +596,11 @@ dfu_handle(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
>  	debug("req_type: 0x%x ctrl->bRequest: 0x%x f_dfu->dfu_state: 0x%x\n",
>  	       req_type, ctrl->bRequest, f_dfu->dfu_state);
>  
> +#ifdef CONFIG_DFU_TIMEOUT
> +	/* Forbid aborting by timeout. Next dfu command may update this */
> +	dfu_set_timeout(0);
> +#endif
> +
>  	if (req_type == USB_TYPE_STANDARD) {
>  		if (ctrl->bRequest == USB_REQ_GET_DESCRIPTOR &&
>  		    (w_value >> 8) == DFU_DT_FUNC) {
> -- 
> 2.24.1
> 

-- 
With Best Regards,
Andy Shevchenko




More information about the U-Boot mailing list