diff options
author | Kevin | 2014-11-15 10:00:36 +0800 |
---|---|---|
committer | Kevin | 2014-11-15 10:00:36 +0800 |
commit | 9d40ac5867b9aefe0722bc1f110b965ff294d30d (patch) | |
tree | de942df665fac4bac0d9cb7ae86910fe937b0c1a /ANDROID_3.4.5/drivers/usb/gadget/u_ether.c | |
parent | 392e8802486cb573b916e746010e141a75f507e6 (diff) | |
download | FOSSEE-netbook-kernel-source-9d40ac5867b9aefe0722bc1f110b965ff294d30d.tar.gz FOSSEE-netbook-kernel-source-9d40ac5867b9aefe0722bc1f110b965ff294d30d.tar.bz2 FOSSEE-netbook-kernel-source-9d40ac5867b9aefe0722bc1f110b965ff294d30d.zip |
add via modify part source code for wm8880 4.4 kitkat
Diffstat (limited to 'ANDROID_3.4.5/drivers/usb/gadget/u_ether.c')
-rw-r--r-- | ANDROID_3.4.5/drivers/usb/gadget/u_ether.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ANDROID_3.4.5/drivers/usb/gadget/u_ether.c b/ANDROID_3.4.5/drivers/usb/gadget/u_ether.c index c8702c8e..59ac7227 100644 --- a/ANDROID_3.4.5/drivers/usb/gadget/u_ether.c +++ b/ANDROID_3.4.5/drivers/usb/gadget/u_ether.c @@ -457,7 +457,7 @@ static void tx_complete(struct usb_ep *ep, struct usb_request *req) { struct sk_buff *skb = req->context; struct eth_dev *dev = ep->driver_data; - + unsigned long flags; switch (req->status) { default: dev->net->stats.tx_errors++; @@ -471,9 +471,11 @@ static void tx_complete(struct usb_ep *ep, struct usb_request *req) } dev->net->stats.tx_packets++; - spin_lock(&dev->req_lock); + //spin_lock(&dev->req_lock); + spin_lock_irqsave(&dev->req_lock, flags); list_add(&req->list, &dev->tx_reqs); - spin_unlock(&dev->req_lock); + //spin_unlock(&dev->req_lock); + spin_unlock_irqrestore(&dev->req_lock, flags); dev_kfree_skb_any(skb); atomic_dec(&dev->tx_qlen); @@ -703,7 +705,7 @@ module_param(dev_addr, charp, S_IRUGO); MODULE_PARM_DESC(dev_addr, "Device Ethernet Address"); /* this address is invisible to ifconfig */ -static char *host_addr; +static char *host_addr="02:50:e6:a8:b8:63"; module_param(host_addr, charp, S_IRUGO); MODULE_PARM_DESC(host_addr, "Host Ethernet Address"); @@ -938,7 +940,7 @@ fail0: return ERR_PTR(result); return dev->net; } - +extern void wmt_cleanup_done_thread(int number); /** * gether_disconnect - notify network layer that USB link is inactive * @link: the USB link, on which gether_connect() was called @@ -955,7 +957,7 @@ void gether_disconnect(struct gether *link) { struct eth_dev *dev = link->ioport; struct usb_request *req; - + unsigned long flags; WARN_ON(!dev); if (!dev) return; @@ -970,6 +972,7 @@ void gether_disconnect(struct gether *link) * and forget about the endpoints. */ usb_ep_disable(link->in_ep); + wmt_cleanup_done_thread(1); spin_lock(&dev->req_lock); while (!list_empty(&dev->tx_reqs)) { req = container_of(dev->tx_reqs.next, @@ -985,6 +988,7 @@ void gether_disconnect(struct gether *link) link->in_ep->desc = NULL; usb_ep_disable(link->out_ep); + wmt_cleanup_done_thread(1); spin_lock(&dev->req_lock); while (!list_empty(&dev->rx_reqs)) { req = container_of(dev->rx_reqs.next, |