00f30d29b4
According to the gadget.h, a "complete" function will always be called with interrupts disabled. However, sometimes usbhsg_queue_pop() function is called with interrupts enabled. So, this function should be held by usbhs_lock() to disable interruption. Also, this driver has to call spin_unlock() to avoid spinlock recursion by this driver before calling usb_gadget_giveback_request(). Otherwise, there is possible to cause a spinlock suspected in a gadget complete function. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Felipe Balbi <balbi@ti.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
common.c | ||
common.h | ||
fifo.c | ||
fifo.h | ||
mod.c | ||
mod.h | ||
mod_gadget.c | ||
mod_host.c | ||
pipe.c | ||
pipe.h | ||
rcar2.c | ||
rcar2.h |