• Al Borchers's avatar
    [PATCH] USB: io_edgeport locking, flow control, and misc fixes · 90a28f11
    Al Borchers authored
    [PATCH] io_edgeport locking, flow control, and misc fixes
    
    - Updated to version 2.7.
    
    - Added locking to protect the circular buffer, txCredits, rxBytesAvail,
      and read_in_progress.
    
    - With these locking fixes tests running 8 ports at 115200 bps on
      SMP now runs for hours without problems; before these changes this
      test would cause out of memory errors or oopses within minutes.
    
    - Removed the RELEVANT_IFLAG macro which mistakenly filtered out the
      software flow control stty flags.
    
    - Added support for mark and space parity.
    
    - Added a private read_in_progress flag rather than using (urb->status
      == -EINPROGRESS).
    
    - Low latency is now a module parameter, it is on by default.
    
    - Added edge_tty_recv to pass data to the tty flip buffers.
    
    - Cleared the write_urb pointer after freeing it, to prevent oops on
      failed open.
    
    - Cleared the txfifo.fifo pointer after freeing it, to prevent double
      free on failed open.
    
    - 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>
    90a28f11
io_edgeport.c 99.5 KB