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 67573e5f2a18e779f9860c1b9a25f4c31c3e5fa3..9170a4c7ced412724db3645eb58cf3e5f61aa3a7 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,