From: Felipe Balbi Date: Fri, 27 Apr 2012 08:02:15 +0000 (+0300) Subject: usb: gadget: udc-core: fix wrong call order X-Git-Tag: v3.3.6~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=804596fcfa2946ea83737346290f806651cd69ea;p=karo-tx-linux.git usb: gadget: udc-core: fix wrong call order commit 83a787a71e034244a9fd1d5988fe18f226341417 upstream. commit 6d258a4 (usb: gadget: udc-core: stop UDC on device-initiated disconnect) introduced another case of asymmetric calls when issuing a device-initiated disconnect. Fix it. Reported-by: Ben Hutchings Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/udc-core.c b/drivers/usb/gadget/udc-core.c index ec02ed0e66a5..3ea783de96b5 100644 --- a/drivers/usb/gadget/udc-core.c +++ b/drivers/usb/gadget/udc-core.c @@ -363,9 +363,9 @@ static ssize_t usb_udc_softconn_store(struct device *dev, usb_gadget_udc_start(udc->gadget, udc->driver); usb_gadget_connect(udc->gadget); } else if (sysfs_streq(buf, "disconnect")) { + usb_gadget_disconnect(udc->gadget); if (udc_is_newstyle(udc)) usb_gadget_udc_stop(udc->gadget, udc->driver); - usb_gadget_disconnect(udc->gadget); } else { dev_err(dev, "unsupported command '%s'\n", buf); return -EINVAL;