Kaynağa Gözat

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>
Martin Schwidefsky 9 yıl önce
ebeveyn
işleme
2e63a3a666
1 değiştirilmiş dosya ile 4 ekleme ve 1 silme
  1. 4 1
      drivers/s390/char/tty3270.c

+ 4 - 1
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;