Re: [PATCH 3/3] usb: gadgetfs: return USB_GADGET_DELAYED_STATUS from setup()
From: Andrey Konovalov
Date: Mon Aug 28 2023 - 11:43:54 EST
On Mon, Aug 28, 2023 at 4:52 PM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, Aug 28, 2023 at 04:10:32AM +0200, andrey.konovalov@xxxxxxxxx wrote:
> > From: Andrey Konovalov <andreyknvl@xxxxxxxxx>
> >
> > Return USB_GADGET_DELAYED_STATUS from the setup() callback for 0-length
> > transfers as a workaround to stop some UDC drivers (e.g. dwc3) from
> > automatically proceeding with the status stage.
> >
> > This workaround should be removed once all UDC drivers are fixed to
> > always delay the status stage until a response is queued to EP0.
> >
> > Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxx>
> > ---
> > drivers/usb/gadget/legacy/inode.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> > index 28249d0bf062..154bbf578ba2 100644
> > --- a/drivers/usb/gadget/legacy/inode.c
> > +++ b/drivers/usb/gadget/legacy/inode.c
> > @@ -31,6 +31,7 @@
> >
> > #include <linux/usb/gadgetfs.h>
> > #include <linux/usb/gadget.h>
> > +#include <linux/usb/composite.h>
>
> Add: /* for USB_GADGET_DELAYED_STATUS */
Will do in v2.
> > +#undef ERROR
> > #define ERROR(dev,fmt,args...) \
> > xprintk(dev , KERN_ERR , fmt , ## args)
> > +#undef INFO
>
> Please move these #undef lines up, just after the new #include. And
> add a comment explaining briefly why they are needed.
Will do in v2.
>
> Aside from these changes,
>
> Reviewed-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Thank you, Alan!