aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/speakup/speakup_audptr.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_audptr.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/speakup_audptr.c')
-rw-r--r--drivers/staging/speakup/speakup_audptr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/speakup/speakup_audptr.c b/drivers/staging/speakup/speakup_audptr.c
index aa6c592ecc9d..1ca476087ba3 100644
--- a/drivers/staging/speakup/speakup_audptr.c
+++ b/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@ static struct spk_synth synth_audptr = {
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}