mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 09:12:39 +00:00
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
From 56c801e09a2b8fdc8f4ec889d7a9cec57d55f545 Mon Sep 17 00:00:00 2001
|
||
|
From: Nikhil Badola <nikhil.badola@freescale.com>
|
||
|
Date: Tue, 9 Jun 2015 16:47:17 +0530
|
||
|
Subject: [PATCH] usb: gadget: Correct NULL pointer checking in fsl gadget
|
||
|
|
||
|
Correct NULL pointer checking for endpoint descriptor
|
||
|
before it gets dereferenced
|
||
|
|
||
|
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
||
|
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
|
||
|
Reviewed-by: Peter Chen <peter.chen@nxp.com>
|
||
|
---
|
||
|
drivers/usb/gadget/udc/fsl_udc_core.c | 5 +++--
|
||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
|
||
|
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
|
||
|
@@ -1052,10 +1052,11 @@ static int fsl_ep_fifo_status(struct usb
|
||
|
u32 bitmask;
|
||
|
struct ep_queue_head *qh;
|
||
|
|
||
|
- ep = container_of(_ep, struct fsl_ep, ep);
|
||
|
- if (!_ep || (!ep->ep.desc && ep_index(ep) != 0))
|
||
|
+ if (!_ep || _ep->desc || !(_ep->desc->bEndpointAddress&0xF))
|
||
|
return -ENODEV;
|
||
|
|
||
|
+ ep = container_of(_ep, struct fsl_ep, ep);
|
||
|
+
|
||
|
udc = (struct fsl_udc *)ep->udc;
|
||
|
|
||
|
if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
|