diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2013-09-17 13:28:50 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-09-30 13:04:39 +0200 |
commit | 22bfda6688c9b91393a07887182ec35acc9d06bb (patch) | |
tree | e8346a548f5f5b319be71519b213f4993470b4c4 /drivers/s390/char | |
parent | 742343551165f314c740a41b070d0fc7fbe202f7 (diff) | |
download | op-kernel-dev-22bfda6688c9b91393a07887182ec35acc9d06bb.zip op-kernel-dev-22bfda6688c9b91393a07887182ec35acc9d06bb.tar.gz |
s390/sclp: properly detect line mode console
To detect a line mode console we need a message event type
for the receive mask and a command event type for the send mask.
Checking for a MSG event in the sclp send mask was wrong and
might result in line mode consoles not being detected.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char')
-rw-r--r-- | drivers/s390/char/sclp_cmd.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 8cd34bf..77df9cb 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c @@ -145,9 +145,11 @@ bool __init sclp_has_linemode(void) if (sccb->header.response_code != 0x20) return 0; - if (sccb->sclp_send_mask & (EVTYP_MSG_MASK | EVTYP_PMSGCMD_MASK)) - return 1; - return 0; + if (!(sccb->sclp_send_mask & (EVTYP_OPCMD_MASK | EVTYP_PMSGCMD_MASK))) + return 0; + if (!(sccb->sclp_receive_mask & (EVTYP_MSG_MASK | EVTYP_PMSGCMD_MASK))) + return 0; + return 1; } bool __init sclp_has_vt220(void) |