• Jason Wessel's avatar
    USB: ehci-dbgp: split PID register updates for IN and OUT pipes · 815e173e
    Jason Wessel authored
    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: default avatarJason Wessel <jason.wessel@windriver.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    815e173e
ehci-dbgp.c 23.5 KB