]> git.baikalelectronics.ru Git - kernel.git/commit
usb: musb: workaround toggle bug when doing bulk transfer after isoc
authorSwaminathan S <swami.iyer@ti.com>
Mon, 28 Dec 2009 11:40:37 +0000 (13:40 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:53:45 +0000 (14:53 -0800)
commit1c4722ea264cab6777804b4b7733090a326d9fe2
treed04a356d4ab42fa74438994e97492754ddd6014d
parentdf8fd847056638a233956bcb53796f5b9c6d516c
usb: musb: workaround toggle bug when doing bulk transfer after isoc

This patch implements the work around for a Mentor controller related
bug where it's observed a BULK Tx toggle error on the bus when a
BULK IO gets scheduled on an endpoint that was earlier used for
handling ISOC transaction and needed to start on 1 toggle.  When such
a situation arises even if the TXCSR toggle bits are programmed
correctly by the musb driver the data gets transmitted with 0 toggle
which leads to toggle error on the bus and the BULK transaction fails.
In case of MSC write, the device gets reset by the Host.

This Mentor bug is observed on almost all Mentor versions (1.3, 1.5,
1.8).  Confirmed on DM644x, DM355, DM365, OMAPL13x platforms.

Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_host.c