summaryrefslogtreecommitdiff
path: root/drivers/s390
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2018-02-21 14:54:07 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-03-19 09:02:00 +0300
commit936b2161df6af5d9407d243e0257f0c2c8e59a66 (patch)
tree002c60da8d034bd96bee23914edfbff666d85bb1 /drivers/s390
parent579f1a2883306518ff4bbd571009604dfa8ad7b0 (diff)
downloadlinux-936b2161df6af5d9407d243e0257f0c2c8e59a66.tar.xz
s390/sclp_tty: enable line mode tty even if there is an ascii console
commit 8f50af49f564d4e5 ("s390/console: Make preferred console handling more consistent") created a separate console state for the ascii console. This has the side effect that we register no tty for the line mode interface as soon as there an ascii interface as default console. Under KVM this results in no getty program on the line mode tty if the guest has both types of interfaces. As we can have multiple ttys at the same time we do not want to disable the tty on sclp_line0 under KVM. So instead of checking for the console mode, we now check for the presence of the sclp line mode interface. As z/VM multiplexes the line mode interface on the 32xx screen we continue to disable the line mode tty for the z/VM case. CC: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Fixes: 8f50af49f564d4e5 ("s390/console: Make preferred console handling more consistent") Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/char/sclp_tty.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_tty.c b/drivers/s390/char/sclp_tty.c
index 9f7b87d6d434..5aff8b684eb2 100644
--- a/drivers/s390/char/sclp_tty.c
+++ b/drivers/s390/char/sclp_tty.c
@@ -502,7 +502,10 @@ sclp_tty_init(void)
int i;
int rc;
- if (!CONSOLE_IS_SCLP)
+ /* z/VM multiplexes the line mode output on the 32xx screen */
+ if (MACHINE_IS_VM && !CONSOLE_IS_SCLP)
+ return 0;
+ if (!sclp.has_linemode)
return 0;
driver = alloc_tty_driver(1);
if (!driver)