diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-07-15 08:41:37 (GMT) |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-07-16 08:48:12 (GMT) |
commit | 9f86745722d95bc7f855069bd82285bd10dc97ff (patch) | |
tree | 83d3dade5bdf6f4dfcd9cb5f957d41aa1800bdb1 /arch/s390 | |
parent | 666e68e0dde826ae146b980099f1719f74fa968c (diff) | |
download | linux-9f86745722d95bc7f855069bd82285bd10dc97ff.tar.xz |
s390: fix restore of invalid floating-point-control
The fixup of the inline assembly to restore the floating-point-control
register needs to check for instruction address *after* the lfcp
instruction as the specification and data exceptions are suppresssing.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/switch_to.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/include/asm/switch_to.h b/arch/s390/include/asm/switch_to.h index df38c70..18ea9e3 100644 --- a/arch/s390/include/asm/switch_to.h +++ b/arch/s390/include/asm/switch_to.h @@ -51,8 +51,8 @@ static inline int restore_fp_ctl(u32 *fpc) return 0; asm volatile( - "0: lfpc %1\n" - " la %0,0\n" + " lfpc %1\n" + "0: la %0,0\n" "1:\n" EX_TABLE(0b,1b) : "=d" (rc) : "Q" (*fpc), "0" (-EINVAL)); |