summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2012-08-30 16:01:56 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2012-08-30 16:01:56 +0530
commit399c993355bf9f538799f27648b7546aef7c42ee (patch)
tree5a835ed35e38a051904067a6d6a642221d22d13c /drivers/usb/gadget
parentcd6f25a4e6e88086f9ad7e2549c3029d354c3832 (diff)
parentf95b978981a7d154ba40d14c18e8ed5c694e6124 (diff)
Merge commit 'v3.4.10' into android-t114-3.4
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/u_ether.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
index 18bf28cb2851..dd2615a3f65e 100644
--- a/drivers/usb/gadget/u_ether.c
+++ b/drivers/usb/gadget/u_ether.c
@@ -669,6 +669,8 @@ static int eth_stop(struct net_device *net)
spin_lock_irqsave(&dev->lock, flags);
if (dev->port_usb) {
struct gether *link = dev->port_usb;
+ const struct usb_endpoint_descriptor *in;
+ const struct usb_endpoint_descriptor *out;
if (link->close)
link->close(link);
@@ -682,10 +684,14 @@ static int eth_stop(struct net_device *net)
* their own pace; the network stack can handle old packets.
* For the moment we leave this here, since it works.
*/
+ in = link->in_ep->desc;
+ out = link->out_ep->desc;
usb_ep_disable(link->in_ep);
usb_ep_disable(link->out_ep);
if (netif_carrier_ok(net)) {
DBG(dev, "host still using in/out endpoints\n");
+ link->in_ep->desc = in;
+ link->out_ep->desc = out;
usb_ep_enable(link->in_ep);
usb_ep_enable(link->out_ep);
}