diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2016-04-28 14:32:13 (GMT) |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2016-05-04 14:29:52 (GMT) |
commit | 2e63a3a66655d5fe5d85c090b009979870436c00 (patch) | |
tree | b371c5960714a2f4888a884e17eb5ab113f9d76e /drivers/s390/char/tty3270.c | |
parent | b512353c15fe7665893e92e0c989c088505a37b8 (diff) | |
download | linux-2e63a3a66655d5fe5d85c090b009979870436c00.tar.xz |
s390/3270: fix garbled output on 3270 tty view
The tty3270_update function tries to optimize the output stream by
skipping the TO_SBA command to position the output offset if the
TO_RA command of the previous line ended at the same offset.
But some lines do not have the TO_RA at the end, namely those
with a length equal to the number of columns.
Make sure there is a TO_RA at the end of the previous line to avoid
funny looking output.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char/tty3270.c')
-rw-r--r-- | drivers/s390/char/tty3270.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/char/tty3270.c b/drivers/s390/char/tty3270.c index e8afa07..54ea5a0 100644 --- a/drivers/s390/char/tty3270.c +++ b/drivers/s390/char/tty3270.c @@ -405,7 +405,10 @@ tty3270_update(struct tty3270 *tp) if (raw3270_request_add_data(wrq, str, len) != 0) break; list_del_init(&s->update); - sba = s->string + s->len - 3; + if (s->string[s->len - 4] == TO_RA) + sba = s->string + s->len - 3; + else + sba = invalid_sba; } if (list_empty(&tp->update)) updated |= TTY_UPDATE_LIST; |