On Thu, Jul 23, 2026, Mattijs Korpershoek wrote:
> Hi Thinh,
> 
> Thank you for the patch.
> 
> On Thu, Jul 09, 2026 at 18:19, Thinh Nguyen <[email protected]> wrote:
> 
> > From: Dan Tran <[email protected]>
> >
> > Populate ss_descriptors to support SuperSpeed connections. DFU is
> > control-only so no separate SS descriptor set is needed; reuse the
> > same descriptors across all speeds.
> >
> > Signed-off-by: Dan Tran <[email protected]>
> > Signed-off-by: Thinh Nguyen <[email protected]>
> > ---
> >  Changes in v2:
> >  - Removed internal Reviewed-by tags
> >
> >  drivers/usb/gadget/f_dfu.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c
> > index ca8b36e077bc..68d2ec7ebbe8 100644
> > --- a/drivers/usb/gadget/f_dfu.c
> > +++ b/drivers/usb/gadget/f_dfu.c
> > @@ -227,6 +227,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu)
> >     f_dfu->usb_function.strings = dfu_strings;
> >     f_dfu->usb_function.hs_descriptors = f_dfu->function;
> >     f_dfu->usb_function.descriptors = f_dfu->function;
> > +   f_dfu->usb_function.ss_descriptors = f_dfu->function;
> >     f_dfu->dfu_state = DFU_STATE_dfuIDLE;
> >  }
> >  
> > @@ -235,6 +236,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu)
> >     f_dfu->usb_function.strings = NULL;
> >     f_dfu->usb_function.hs_descriptors = dfu_runtime_descs;
> >     f_dfu->usb_function.descriptors = dfu_runtime_descs;
> > +   f_dfu->usb_function.ss_descriptors = dfu_runtime_descs;
> >  }
> >  
> >  static int handle_upload(struct usb_request *req, u16 len)
> > @@ -752,6 +754,9 @@ static int dfu_bind(struct usb_configuration *c, struct 
> > usb_function *f)
> >     if (s)
> >             g_dnl_set_serialnumber((char *)s);
> >  
> > +   if (gadget_is_superspeed(cdev->gadget))
> > +           f_dfu->usb_function.ss_descriptors = f_dfu->function;
> > +
> 
> Can you explain why this conditional is needed? I don't see something
> similar for high speed so this is confusing me.

You're right. It's not needed. We can remove it.

Thanks,
Thinh

Reply via email to