> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html