Hi, On Tue, Sep 23, 2014 at 10:09:22AM +0200, Michal Sojka wrote: > >> +/** > >> + * usb_gadget_giveback_request - give the request back to the gadget layer > >> + * Context: in_interrupt() > >> + * > >> + * This is called by device controller drivers in order to return the > >> + * completed request back to the gadget layer. > >> + */ > >> +void usb_gadget_giveback_request(struct usb_ep *ep, > >> + struct usb_request *req) > >> +{ > >> + if (likely(req->complete)) > >> + req->complete(ep, req); > >> + else > >> + pr_err("%s : req->complete must not be NULL\n", __func__); > > > > let it Oops. We require ->complete to be valid, if there's any gadget > > driver not setting ->complete, it deserves to oops so we can the > > error. > > The Oops was there before, but I removed it because greg k-h didn't want > it. See http://marc.info/?l=linux-usb&m=140917381611947&w=2. Do you > still want the oops here? you don't need a BUG_ON(), just call req->complete() directly without any checks, if it's not valid, it _will_ oops. ->complete() is mandatory and anybody sending requests without complete deserve to oops. -- balbi
Attachment:
signature.asc
Description: Digital signature