usb: u_ether: Add workqueue as bottom half handler for rx data path
authorBadhri Jagan Sridharan <Badhri@google.com>
Thu, 25 Sep 2014 01:58:23 +0000 (18:58 -0700)
committerBadhri Jagan Sridharan <Badhri@google.com>
Thu, 25 Sep 2014 01:59:22 +0000 (18:59 -0700)
commit555f3ed9473f5e71966842b557772dd5e0e5a364
tree8ba89a54ab77ceb47f9df97c7eafaadd9c902f56
parentf884d7fae12bd203a2243883e320a0c59168deb3
usb: u_ether: Add workqueue as bottom half handler for rx data path

u_ether driver passes rx data to network layer and resubmits the
request back to usb hardware in interrupt context. Network layer
processes rx data by scheduling tasklet. For high throughput
scenarios on rx data path driver is spending lot of time in interrupt
context due to rx data processing by tasklet and continuous completion
and re-submission of the usb requests which results in watchdog bark.
Hence move the rx data processing and usb request submission to a
workqueue bottom half handler.

Change-Id: I316de8e267997137ac189a8b7b2846fa325f4a5a
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
drivers/usb/gadget/u_ether.c