Hi, "Du, Changbin" <changbin.du@xxxxxxxxx> writes: >> diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h >> index 3d583a1..b566a4b 100644 >> --- a/include/linux/usb/gadget.h >> +++ b/include/linux/usb/gadget.h >> @@ -402,6 +402,9 @@ static inline void usb_ep_free_request(struct usb_ep >> *ep, >> static inline int usb_ep_queue(struct usb_ep *ep, >> struct usb_request *req, gfp_t gfp_flags) >> { >> + if (WARN_ON_ONCE(!ep->enabled)) >> + return -ESHUTDOWN; >> + >> return ep->ops->queue(ep, req, gfp_flags); >> } >> >> -- >> 2.5.0 > > With this patch, ep0 transfer breaks. it because the 'enabled' of ep0 > is not set. Ep0 is not enabled by usb_ep_enable, but in UDC driver. So > there need another patch to set ep0's flag also. yeah, we don't like regressions :-) So the fix should come before $subject to avoid a regression. -- balbi
Attachment:
signature.asc
Description: PGP signature