aboutsummaryrefslogtreecommitdiff
path: root/arch/s390/kernel/sclp.S
diff options
context:
space:
mode:
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