diff options
| author | Danny Segal <dsegal@codeaurora.org> | 2014-08-07 17:26:53 +0300 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:02:45 -0700 |
| commit | 01b21ef8dc28ba597280f8230cc90446fbb4ca9c (patch) | |
| tree | 554816ea3ab7bef505785ad945830348450f7b09 /include | |
| parent | 190c05e664e74320bbf416dfcee4e227440eef1e (diff) | |
usb: gadget: Resolve recursive spinlock during remote wakeup
When a USB function wishes to send new data during USB suspend state, it
needs to issue USB remote wakeup and send a function wakeup notification
after then. This scenario leads to recursive spin locking inside the
_usb_func_wakeup() function, because this function gets called recursively.
This function issues remote wakeup, which internally calls the resume
interrupt callback, which calls the _usb_func_wakeup() function again.
This issue is resolved by performing the remote wakeup in a deferred work
context, and this splits the recursion loop.
CRs-fixed: 700667
Change-Id: I59c8efde098781587d29f08cd60e4aa3521949d8
Signed-off-by: Danny Segal <dsegal@codeaurora.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
