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)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:52:03 +0000 (13:52 -0800)
commit398a708ed5f3ef771d96dfb9b95b5d5170d17eb7
treeaba4f28b9cc34a06222a1f06b89f4ccf47870a89
parent70d6557c5913961b590f3807302664ce36b36c6f
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/function/u_ether.c