[PATCH v1] dfu: Reset timeout in case of DFU request
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Mon Feb 10 17:42:14 CET 2020
On Thu, Jan 30, 2020 at 10:27:20AM +0100, Ferry Toth wrote:
> Op 29-01-2020 om 16:23 schreef Andy Shevchenko:
> > 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.
> >
> > 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) {
> >
> Tested-by: Ferry Toth <ftoth at exalondelft.nl>
Thanks, Ferry!
Lukasz, can this be applied for 2020.04 release?
--
With Best Regards,
Andy Shevchenko
More information about the U-Boot
mailing list