• Jaeden Amero's avatar
    n_tty: Don't lose characters when PARMRK is enabled · 090abf7b
    Jaeden Amero authored
    When PARMRK is set and large transfers of characters that will get
    marked are being received, n_tty could drop data silently (i.e.
    without reporting any error to the client). This is because
    characters have the potential to take up to three bytes in the line
    discipline (when they get marked with parity or framing errors), but
    the amount of free space reported to tty_buffer flush_to_ldisc (via
    tty->receive_room) is based on the pre-marked data size.
    
    With this patch, the n_tty layer will no longer assume that each byte
    will only take up one byte in the line discipline. Instead, it will
    make an overly conservative estimate that each byte will take up
    three bytes in the line discipline when PARMRK is set.
    Signed-off-by: default avatarJaeden Amero <jaeden.amero@ni.com>
    Acked-by: default avatarAlan Cox <alan@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    090abf7b
n_tty.c 52.7 KB