speakup: Simplify spk_ttyio_out error handling.
This avoids most code indentation Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Link: https://lore.kernel.org/r/20210126222147.3848175-4-samuel.thibault@ens-lyon.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4f2a81f3a8
commit
117422521e
|
@ -225,27 +225,29 @@ void spk_ttyio_unregister_ldisc(void)
|
|||
static int spk_ttyio_out(struct spk_synth *in_synth, const char ch)
|
||||
{
|
||||
struct tty_struct *tty = in_synth->dev;
|
||||
int ret;
|
||||
|
||||
if (in_synth->alive && tty->ops->write) {
|
||||
int ret = tty->ops->write(tty, &ch, 1);
|
||||
if (!in_synth->alive || !tty->ops->write)
|
||||
return 0;
|
||||
|
||||
if (ret == 0)
|
||||
/* No room */
|
||||
return 0;
|
||||
if (ret < 0) {
|
||||
pr_warn("%s: I/O error, deactivating speakup\n",
|
||||
in_synth->long_name);
|
||||
/* No synth any more, so nobody will restart TTYs,
|
||||
* and we thus need to do it ourselves. Now that there
|
||||
* is no synth we can let application flood anyway
|
||||
*/
|
||||
in_synth->alive = 0;
|
||||
speakup_start_ttys();
|
||||
return 0;
|
||||
}
|
||||
ret = tty->ops->write(tty, &ch, 1);
|
||||
|
||||
if (ret == 0)
|
||||
/* No room */
|
||||
return 0;
|
||||
|
||||
if (ret > 0)
|
||||
/* Success */
|
||||
return 1;
|
||||
}
|
||||
|
||||
pr_warn("%s: I/O error, deactivating speakup\n",
|
||||
in_synth->long_name);
|
||||
/* No synth any more, so nobody will restart TTYs,
|
||||
* and we thus need to do it ourselves. Now that there
|
||||
* is no synth we can let application flood anyway
|
||||
*/
|
||||
in_synth->alive = 0;
|
||||
speakup_start_ttys();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue