• Al Borchers's avatar
    [PATCH] USB: io_ti new devices, circular buffer, flow control, misc fixes · 39cd5d1a
    Al Borchers authored
    - Updated to version 0.7.
    
    - Added support for Edgeport 4s, 221c, 22c, 21c, 1, 1i, Watchports,
      Plus Power Port HP4CD, and Plus Power Port PCI.
    
    - Added a circular write buffer and locking to protect it.  This fixes
      OPOST processing problems.
    
    - Rewrote TIChase to wait for the circular buffer to drain, to wait
      up to the closing wait time, and to wait for the last character out.
    
    - Fixed hardware flow control by having it stop and restart reads
      and set and clear tty->hw_stopped.
    
    - Removed the RELEVANT_IFLAG macro which mistakenly filtered out the
      software flow control stty flags.
    
    - Added a semaphore to to protect num_ports_open to fix a race
      during simultaneous opens--two opens could both try to submit
      the interrupt urb, an error.
    
    - Added a separate write_urb_in_use flag rather than relying
      on (urb->status == -EINPROGRESS).
    
    - Added edge_tty_recv to pass data to the tty flip buffers.
    
    - Freed memory on failed startup.
    
    - Added low latency as a module parameter, it is on by default.
    
    - Added closing wait as a module parameter, it is 40 seconds by default.
    
    - Simplified rounding the baud rate divisor.
    
    - Added some error messages.
    Signed-off-by: default avatarAl Borchers <alborchers@steinerpoint.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    39cd5d1a
io_ti.c 83.7 KB