linux/drivers/usb/renesas_usbhs
Yoshihiro Shimoda 00f30d29b4 usb: renesas_usbhs: fix spinlock suspected in a gadget complete function
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>
2015-03-19 11:28:15 -05:00
..
common.c usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
common.h usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
fifo.c usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
fifo.h usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
Kconfig usb: renesas: fix extcon dependency 2015-02-23 09:14:33 -06:00
Makefile usb: renesas_usbhs: add R-Car Gen. 2 init and power control 2014-07-16 10:06:32 -05:00
mod_gadget.c usb: renesas_usbhs: fix spinlock suspected in a gadget complete function 2015-03-19 11:28:15 -05:00
mod_host.c usb: renesas_usbhs: mod_host: use HUB_CHAR_* 2015-01-27 09:34:57 -06:00
mod.c usb: renesas_usbhs: protect mod->irq_{bemp,brdy}sts by spin lock 2014-09-03 09:15:57 -05:00
mod.h renesas_usbhs: cleanup quoted includes 2012-06-05 10:15:25 +02:00
pipe.c usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
pipe.h usb: renesas_usbhs: add support for USB-DMAC 2015-03-13 10:41:19 -05:00
rcar2.c usb: renesas_usbhs: add support for generic PHY 2014-11-03 10:00:56 -06:00
rcar2.h usb: renesas_usbhs: add R-Car Gen. 2 init and power control 2014-07-16 10:06:32 -05:00