Hi, On Thu, Mar 23, 2023, Marco Felsch wrote: > Printing an error message during usb_ep_dequeue() is more confusing than > helpful since the usb_ep_dequeue() could be call during unbind() just > in case that everything is canceld before unbinding the driver. Lower > the dev_err() message to dev_dbg() to keep the message for developers. > > Fixes: fcd2def66392 ("usb: dwc3: gadget: Refactor dwc3_gadget_ep_dequeue") > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > --- > drivers/usb/dwc3/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 89dcfac01235f..6699db26cc7b5 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -2106,7 +2106,7 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, > } > } > > - dev_err(dwc->dev, "request %pK was not queued to %s\n", > + dev_dbg(dwc->dev, "request %pK was not queued to %s\n", > request, ep->name); > ret = -EINVAL; > out: > -- > 2.30.2 > How were you able to reproduce this error message? During unbind(), the function driver would typically call to usb_ep_disable(). Before the call usb_ep_disable() completes, all queued and incompleted requests are expected to be returned with -ESHUTDOWN. For you to see this error, this means that the function driver issued usb_ep_dequeue() to an already disabled endpoint, and the request was probably already given back. Even though this error message is not critical and shouldn't affect the driver's behavior, it's better to fix the function driver to handle this race. Thanks, Thinh