summaryrefslogtreecommitdiff
path: root/drivers/staging/speakup/speakup_dectlk.c
diff options
context:
space:
mode:
authorOkash Khawaja <okash.khawaja@gmail.com>2017-05-15 18:45:37 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-05-16 14:19:41 +0200
commit1c5973675cee92d5e8ad3a8a6e53a3e822bae271 (patch)
tree2ef5bad2d418ac675b709e600b8bf6975e565fda /drivers/staging/speakup/speakup_dectlk.c
parent470790eefede39ebc22594ce657f14cc83365aed (diff)
staging: speakup: flush tty buffers and ensure hardware flow control
This patch fixes the issue where TTY-migrated synths would take a while to shut up after hitting numpad enter key. When calling synth_flush, even though XOFF character is sent as high priority, data buffered in TTY layer is still sent to the synth. This patch flushes that buffered data when synth_flush is called. It also tries to ensure that hardware flow control is enabled, by setting CRTSCTS using tty's termios. Reported-by: John Covici <covici@ccs.covici.com> Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/speakup/speakup_dectlk.c')
-rw-r--r--drivers/staging/speakup/speakup_dectlk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/speakup/speakup_dectlk.c b/drivers/staging/speakup/speakup_dectlk.c
index ec968dd6b6c8..ccb3bdf58e2a 100644
--- a/drivers/staging/speakup/speakup_dectlk.c
+++ b/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@ static void synth_flush(struct spk_synth *synth)
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}