usbdebug: Fix data toggle on receive

USB device end toggles data PID when we ACK'd the zero-length data
packet. As USB host we need to toggle data PID too or the next data
received would get discarded.

Change-Id: I3203bc874c7ded9244c7548a666d7041a0fbb379
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/4775
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
This commit is contained in:
Kyösti Mälkki 2014-01-21 10:44:08 +02:00
parent 089b88c165
commit 48e899d2d5
1 changed files with 1 additions and 2 deletions

View File

@ -204,8 +204,7 @@ host_retry:
/* If I get an ACK or in-sync DATA PID, we are done. */ /* If I get an ACK or in-sync DATA PID, we are done. */
if ((lpid == USB_PID_ACK) || (lpid == pipe->pid)) { if ((lpid == USB_PID_ACK) || (lpid == pipe->pid)) {
if (DBGP_LEN(rd_ctrl)) pipe->pid ^= USB_PID_DATA_TOGGLE;
pipe->pid ^= USB_PID_DATA_TOGGLE;
} }
/* If the port is getting full or it has dropped data /* If the port is getting full or it has dropped data