aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/sclp_vt220.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/char/sclp_vt220.c')
-rw-r--r--drivers/s390/char/sclp_vt220.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/s390/char/sclp_vt220.c b/drivers/s390/char/sclp_vt220.c
index 0eca99b98712..6c92f62623be 100644
--- a/drivers/s390/char/sclp_vt220.c
+++ b/drivers/s390/char/sclp_vt220.c
@@ -461,14 +461,9 @@ sclp_vt220_write(struct tty_struct *tty, const unsigned char *buf, int count)
461static void 461static void
462sclp_vt220_receiver_fn(struct evbuf_header *evbuf) 462sclp_vt220_receiver_fn(struct evbuf_header *evbuf)
463{ 463{
464 struct tty_struct *tty = tty_port_tty_get(&sclp_vt220_port);
465 char *buffer; 464 char *buffer;
466 unsigned int count; 465 unsigned int count;
467 466
468 /* Ignore input if device is not open */
469 if (tty == NULL)
470 return;
471
472 buffer = (char *) ((addr_t) evbuf + sizeof(struct evbuf_header)); 467 buffer = (char *) ((addr_t) evbuf + sizeof(struct evbuf_header));
473 count = evbuf->length - sizeof(struct evbuf_header); 468 count = evbuf->length - sizeof(struct evbuf_header);
474 469
@@ -481,10 +476,9 @@ sclp_vt220_receiver_fn(struct evbuf_header *evbuf)
481 buffer++; 476 buffer++;
482 count--; 477 count--;
483 tty_insert_flip_string(&sclp_vt220_port, buffer, count); 478 tty_insert_flip_string(&sclp_vt220_port, buffer, count);
484 tty_flip_buffer_push(tty); 479 tty_flip_buffer_push(&sclp_vt220_port);
485 break; 480 break;
486 } 481 }
487 tty_kref_put(tty);
488} 482}
489 483
490/* 484/*