]> git.baikalelectronics.ru Git - kernel.git/commit
musb_gadget: Fix for spurious interrupts on endpoint zero.
authorHans Petter Selasky <hselasky@c2i.net>
Fri, 2 Sep 2011 06:17:17 +0000 (08:17 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Sep 2011 22:58:02 +0000 (15:58 -0700)
commit93e2b7257e7ff2624696f6567a0905e727b8610d
tree5ad5f66be6dd9bb938aa095049056d7a7a660a18
parent337034ce70803f29bffade7d776a05c209152c7d
musb_gadget: Fix for spurious interrupts on endpoint zero.

There is a multi-year old bug in the MUSB hardware which is not documented.
It causes spurious interrupts and have various symptoms, like endless
"SetupEnd came in a wrong ep0stage" messages. The fix is taken from the
FreeBSD's musb driver.

How to reproduce:
For example issue clear-stall on a couple of endpoints very fast,
like one request per 125us. After a while the bug triggers and the
musb-chip becomes unusable until next re-enumeration.

Signed-off-by: Hans Petter Selasky <hps@bitfrost.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_gadget_ep0.c