diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-01-21 10:44:08 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-02-10 19:33:45 +0100 |
commit | 48e899d2d5d7adfccecbde5b75b7d8e7a1394af4 (patch) | |
tree | d54200b92dbd4b25005057fcbb3536dd608f600e /src/drivers | |
parent | 089b88c165468367e176d5bcc022b3702f499234 (diff) |
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>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/usb/ehci_debug.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/drivers/usb/ehci_debug.c b/src/drivers/usb/ehci_debug.c index b28208df28..7413a8abd5 100644 --- a/src/drivers/usb/ehci_debug.c +++ b/src/drivers/usb/ehci_debug.c @@ -204,8 +204,7 @@ host_retry: /* If I get an ACK or in-sync DATA PID, we are done. */ 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 |