usb: gadget: udc: fsl: Add missing complete function.
Commit304f7e5e1d
("usb: gadget: Refactor request completion") removed check if req->req.complete is non-NULL, resulting in a NULL pointer derefence and a kernel panic. This patch adds an empty complete function instead of re-introducing the req->req.complete check. Fixes:304f7e5e1d
("usb: gadget: Refactor request completion") Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com> Cc: <stable@vger.kernel.org> # 3.18+ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
2878178905
commit
5528954a1a
|
@ -1248,6 +1248,12 @@ static const struct usb_gadget_ops fsl_gadget_ops = {
|
|||
.udc_stop = fsl_udc_stop,
|
||||
};
|
||||
|
||||
/*
|
||||
* Empty complete function used by this driver to fill in the req->complete
|
||||
* field when creating a request since the complete field is mandatory.
|
||||
*/
|
||||
static void fsl_noop_complete(struct usb_ep *ep, struct usb_request *req) { }
|
||||
|
||||
/* Set protocol stall on ep0, protocol stall will automatically be cleared
|
||||
on new transaction */
|
||||
static void ep0stall(struct fsl_udc *udc)
|
||||
|
@ -1282,7 +1288,7 @@ static int ep0_prime_status(struct fsl_udc *udc, int direction)
|
|||
req->req.length = 0;
|
||||
req->req.status = -EINPROGRESS;
|
||||
req->req.actual = 0;
|
||||
req->req.complete = NULL;
|
||||
req->req.complete = fsl_noop_complete;
|
||||
req->dtd_count = 0;
|
||||
|
||||
ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
|
||||
|
@ -1365,7 +1371,7 @@ static void ch9getstatus(struct fsl_udc *udc, u8 request_type, u16 value,
|
|||
req->req.length = 2;
|
||||
req->req.status = -EINPROGRESS;
|
||||
req->req.actual = 0;
|
||||
req->req.complete = NULL;
|
||||
req->req.complete = fsl_noop_complete;
|
||||
req->dtd_count = 0;
|
||||
|
||||
ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
|
||||
|
|
Loading…
Reference in New Issue