aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/speakup/synth.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/synth.c
parentstaging: speakup: migrate apollo, ltlk, audptr, decext, dectlk and spkout (diff)
downloadlinux-dev-1c5973675cee92d5e8ad3a8a6e53a3e822bae271.tar.xz
linux-dev-1c5973675cee92d5e8ad3a8a6e53a3e822bae271.zip
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/synth.c')
-rw-r--r--drivers/staging/speakup/synth.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/speakup/synth.c b/drivers/staging/speakup/synth.c
index 9c2aa1b8b0ac..703553916097 100644
--- a/drivers/staging/speakup/synth.c
+++ b/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@ EXPORT_SYMBOL_GPL(spk_do_catch_up);
void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);