OSDN Git Service

usb: gadget: dummy_hcd: don't assign ->desc on error case
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 25 Jan 2012 10:51:19 +0000 (11:51 +0100)
committerFelipe Balbi <balbi@ti.com>
Thu, 9 Feb 2012 07:53:53 +0000 (09:53 +0200)
If the stream check fails then we leave ep->desc assigend but we return
with an error code. The caller assumes the endpoint is not enabled
(which is the case) but it can not enable it again due to this
assigment.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/dummy_hcd.c

index 67573e5..9170a4c 100644 (file)
@@ -514,7 +514,6 @@ static int dummy_enable(struct usb_ep *_ep,
        }
 
        _ep->maxpacket = max;
-       ep->desc = desc;
        if (usb_ss_max_streams(_ep->comp_desc)) {
                if (!usb_endpoint_xfer_bulk(desc)) {
                        dev_err(udc_dev(dum), "Can't enable stream support on "
@@ -523,6 +522,7 @@ static int dummy_enable(struct usb_ep *_ep,
                }
                ep->stream_en = 1;
        }
+       ep->desc = desc;
 
        dev_dbg(udc_dev(dum), "enabled %s (ep%d%s-%s) maxpacket %d stream %s\n",
                _ep->name,