diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-02-05 20:49:05 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-03 01:54:58 +0300 |
commit | 815e173e1d71742f1135fb4d4931e8115a3ca0ef (patch) | |
tree | 14ccc8eb7e1082a896e3ae6906c52b6a21cac264 /drivers/usb/serial/spcp8x5.c | |
parent | 5272098365514ab232fa6a695d58c3961fec6b7a (diff) | |
download | linux-815e173e1d71742f1135fb4d4931e8115a3ca0ef.tar.xz |
USB: ehci-dbgp: split PID register updates for IN and OUT pipes
This patch addresses two problems:
1) Bulk reads should always use the DATA0 for the pid, and the write
PID should toggle between DATA0 and DATA1. The fix is using
dbgp_pid_write_update() and dbgp_pid_read_update().
2) The delay loop for waiting for a transaction was not long enough to
always complete the initial handshake inside dbgp_wait_until_done().
After the initial handshake the maximum delay length is never reached.
The combined result of these two changes allows for the removal of the
forced resynchronization where a bulk write was issued with a dummy
data payload only to get the device to start accepting data writes
again.
CC: Eric Biederman <ebiederm@xmission.com>
CC: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/spcp8x5.c')
0 files changed, 0 insertions, 0 deletions