aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/sclp.S
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2015-01-05 10:10:14 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-01-08 10:02:52 +0100
commita7e75d434b53b45ae60779903904d4fbdbd145a5 (patch)
tree0a99249a4076bd0c1de0b0252fc593273ebd7e60 /arch/s390/kernel/sclp.S
parents390/sclp: fix declaration of _sclp_print_early() (diff)
downloadlinux-dev-a7e75d434b53b45ae60779903904d4fbdbd145a5.tar.xz
linux-dev-a7e75d434b53b45ae60779903904d4fbdbd145a5.zip
s390/sclp: sign extend return value of _sclp_print_early()
_sclp_print_early() has a return value, but misses to sign extend it if called from 64 bit code. This is not really a bug, since currently no caller cares what the return value is. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/sclp.S')
-rw-r--r--arch/s390/kernel/sclp.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/sclp.S b/arch/s390/kernel/sclp.S
index a41f2c99dcc8..7e77e03378f3 100644
--- a/arch/s390/kernel/sclp.S
+++ b/arch/s390/kernel/sclp.S
@@ -294,7 +294,8 @@ ENTRY(_sclp_print_early)
#ifdef CONFIG_64BIT
tm LC_AR_MODE_ID,1
jno .Lesa3
- lmh %r6,%r15,96(%r15) # store upper register halves
+ lgfr %r2,%r2 # sign extend return value
+ lmh %r6,%r15,96(%r15) # restore upper register halves
ahi %r15,80
.Lesa3:
#endif