s390/3270: fix initialization order in tty3270_alloc_view
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 8 Jan 2013 14:20:05 +0000 (15:20 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 14 Feb 2013 14:55:01 +0000 (15:55 +0100)
Corrects the order of tasklet_init vs. the allocation of the
read request which has been broken by git commit 9d2ae233
"TTY: tty3270, move initialization to allocation".

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/char/tty3270.c

index 964018402b36cc3e232cbf78f6c1a1a7f0eb7504..5e4b6fc49ae3d08480467fb5c44e5e4122f4765b 100644 (file)
@@ -683,12 +683,6 @@ tty3270_alloc_view(void)
        INIT_LIST_HEAD(&tp->update);
        INIT_LIST_HEAD(&tp->rcl_lines);
        tp->rcl_max = 20;
-       tty_port_init(&tp->port);
-       setup_timer(&tp->timer, (void (*)(unsigned long)) tty3270_update,
-                   (unsigned long) tp);
-       tasklet_init(&tp->readlet,
-                    (void (*)(unsigned long)) tty3270_read_tasklet,
-                    (unsigned long) tp->read);
 
        for (pages = 0; pages < TTY3270_STRING_PAGES; pages++) {
                tp->freemem_pages[pages] = (void *)
@@ -710,6 +704,14 @@ tty3270_alloc_view(void)
        tp->kbd = kbd_alloc();
        if (!tp->kbd)
                goto out_reset;
+
+       tty_port_init(&tp->port);
+       setup_timer(&tp->timer, (void (*)(unsigned long)) tty3270_update,
+                   (unsigned long) tp);
+       tasklet_init(&tp->readlet,
+                    (void (*)(unsigned long)) tty3270_read_tasklet,
+                    (unsigned long) tp->read);
+
        return tp;
 
 out_reset: