From: Robert Baldyga Date: Wed, 16 Sep 2015 10:10:40 +0000 (+0200) Subject: usb: gadget: f_ncm: obtain cdev from function instead of driver_data X-Git-Tag: firefly_0821_release~176^2~804^2~12^2~110 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=35bfde36872607b1de87288f9798af79820a910f;p=firefly-linux-kernel-4.4.55.git usb: gadget: f_ncm: obtain cdev from function instead of driver_data The 'driver_data' field in ep0 is never set to pointer to cdev, so we have to obtain it from another source as in this context ep->driver_data contains invalid data. Signed-off-by: Robert Baldyga Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c index 3f05c6bd57f0..394cdbfc40f1 100644 --- a/drivers/usb/gadget/function/f_ncm.c +++ b/drivers/usb/gadget/function/f_ncm.c @@ -586,7 +586,7 @@ static void ncm_ep0out_complete(struct usb_ep *ep, struct usb_request *req) unsigned in_size; struct usb_function *f = req->context; struct f_ncm *ncm = func_to_ncm(f); - struct usb_composite_dev *cdev = ep->driver_data; + struct usb_composite_dev *cdev = f->config->cdev; req->context = NULL; if (req->status || req->actual != req->length) {