summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Kuzmichev <vkuzmichev@mvista.com>2010-08-13 13:01:06 (GMT)
committerRemy Bohmer <linux@bohmer.net>2010-09-20 19:57:17 (GMT)
commitdf559c1d21ba1a9ee0dcec57567907888484d877 (patch)
tree53355a982383c140206e260221ccdce80e6be987
parent2e12abe65410bcfa4c6058a8b81231d5d62a323c (diff)
downloadu-boot-df559c1d21ba1a9ee0dcec57567907888484d877.tar.xz
USB-CDC: Correct stat_req initialization
Fix possible oops on stat_req->buf initialization and fix ep0 and status_ep confusion (last one is just intended for stat_req keeping). Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com> Signed-off-by: Stefano Babic <sbabic@denx.de>
-rw-r--r--drivers/usb/gadget/ether.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 283049e..8126f76 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -1726,14 +1726,13 @@ autoconf_fail:
/* ... and maybe likewise for status transfer */
#if defined(DEV_CONFIG_CDC)
if (dev->status_ep) {
- dev->stat_req = usb_ep_alloc_request(gadget->ep0, GFP_KERNEL);
- dev->stat_req->buf = status_req;
+ dev->stat_req = usb_ep_alloc_request(dev->status_ep, GFP_KERNEL);
if (!dev->stat_req) {
- dev->stat_req->buf=NULL;
- usb_ep_free_request (gadget->ep0, dev->req);
+ usb_ep_free_request (dev->status_ep, dev->req);
goto fail;
}
+ dev->stat_req->buf = status_req;
dev->stat_req->context = NULL;
}
#endif