diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-21 12:13:18 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-24 08:32:57 +0200 |
commit | 43ab9db1b1f20d67bf34e561fadb5fc1d8801e06 (patch) | |
tree | 80f1dc86e109de5cbaa8720b19f9c927b28e6b60 | |
parent | bfb7aa1e191628699b87b1a5b8428e454728d435 (diff) | |
download | barebox-43ab9db1b1f20d67bf34e561fadb5fc1d8801e06.tar.gz barebox-43ab9db1b1f20d67bf34e561fadb5fc1d8801e06.tar.xz |
USB: gadget: fsl_udc: Be more tolerant in fsl_ep_dequeue
When an endpoint hasn't been enabled ep->desc is NULL and
fsl_ep_dequeue crashes with a NULL pointer dereference. Check
ep->desc before continuing.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/gadget/fsl_udc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index 5266fb694b..5a625d19ca 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -1280,7 +1280,7 @@ static int fsl_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req) int ep_num, stopped, ret = 0; u32 epctrl; - if (!_ep || !_req) + if (!_ep || !_req || !ep->desc) return -EINVAL; stopped = ep->stopped; |