From e497e7ea711ac0bc6d8942a905e42507200a6f39 Mon Sep 17 00:00:00 2001 From: Michael Grzeschik Date: Wed, 8 Aug 2012 11:48:10 +0200 Subject: [PATCH] --- yaml --- r: 321727 b: refs/heads/master c: b1b552a69b8805e7e338074a9e8b670b4a795218 h: refs/heads/master i: 321725: 2071a4defd74d434247608439a74e70f336f8cf7 321723: a2624ba785bb9883a786bd3f13c5b0b1c4990c4d 321719: 4a743fa37f8f3eaa493b1959686d051e0bc1155f 321711: ad371961e927ecf9d8bf8f7c89e4c9a10bb5cbff 321695: 31afef7278a6b5c4d2596bdd6491a9b042c2a83a 321663: a7b5d5d781232b327ca579a5bcec56752f4d5f73 v: v3 --- [refs] | 2 +- trunk/drivers/usb/gadget/u_ether.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b53ff5c67e4a..4e094220f605 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ecc8a0cdca18df5c9a7e84ab29160259123f3ae5 +refs/heads/master: b1b552a69b8805e7e338074a9e8b670b4a795218 diff --git a/trunk/drivers/usb/gadget/u_ether.c b/trunk/drivers/usb/gadget/u_ether.c index 90e82e288eb9..0e5230926154 100644 --- a/trunk/drivers/usb/gadget/u_ether.c +++ b/trunk/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); }