A gadget driver will not disable eps immediately when ->disconnect()
is called. But, since this driver assumes all eps stop after
the ->disconnect(), unexpected behavior happens (especially in system
suspend).
So, this patch disables all eps in usbhsg_try_stop(). After disabling
eps by renesas_usbhs driver, since some functions will be called by
both a gadget and renesas_usbhs driver, renesas_usbhs driver should
protect uep->pipe. To protect uep->pipe easily, this patch adds a new
lock in struct usbhsg_uep.
Fixes:
|
||
---|---|---|
.. | ||
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 | ||
rcar3.c | ||
rcar3.h |