]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
musb_hdrc: Update host side EP0 handling for correctness
authorDavid Brownell <dbrownell@users.sourceforge.net>
Fri, 23 Mar 2007 13:56:36 +0000 (09:56 -0400)
committerTony Lindgren <tony@atomide.com>
Fri, 23 Mar 2007 13:56:36 +0000 (09:56 -0400)
commitea4c46f2bab83dea26ce343763fc65270ca537a6
treef49d842f42ca2461b4ed835e1302adf2c9ae3863
parent8b63229c3a24dcee92e43cd17ff4e70393040a3f
musb_hdrc: Update host side EP0 handling for correctness

Update host side EP0 handling for correctness:  handle zero-length data
stages and continuations of ep0out transfers explicitly, clean up the state
machine a bit.  This means that the full set of host-side ep0 tests pass.
Usbtest cases #9 and #10 were ok before; now case #14 works too.

There is however a curious protocol problem in some full speed tests, at
least on DaVinci:  sometimes the controller won't ack an IN DATA packet,
causing a retry.  If the peripheral doesn't resend that data correctly,
that causes a test failure.  (And my test rig doesn't resend correctly...)

This is based on a patch from "ZHENG LEI <realthunder@pmail.ntu.edu.sg>"
against 2.6.10 code, resolving some of the ep0out problems.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
drivers/usb/musb/musb_host.c
drivers/usb/musb/musbdefs.h