aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/signal32.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-06-26 10:49:57 +0100
committerMark Brown <broonie@linaro.org>2014-06-26 10:49:57 +0100
commit9580f7022362bf717457b6b73de1e0ed0fede211 (patch)
tree759c4197d0bdd6ab0b0a1576e9f1085b5f950929 /arch/arm64/kernel/signal32.c
parentde29502181a1954f27eb774c4d22532d33fa3d04 (diff)
Revert "Merge remote-tracking branch 'lsk/v3.10/topic/arm64-fpsimd' into linux-linaro-lsk"lsk-14.06
This reverts commit b621c22123dc6b6facafe115f6364cf80172d551, reversing changes made to d7610b8eafd543c7f75568dcaeead439f31ffa53.
Diffstat (limited to 'arch/arm64/kernel/signal32.c')
-rw-r--r--arch/arm64/kernel/signal32.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c
index 02de43260332..e51bbe79f5b5 100644
--- a/arch/arm64/kernel/signal32.c
+++ b/arch/arm64/kernel/signal32.c
@@ -219,7 +219,7 @@ static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame)
* Note that this also saves V16-31, which aren't visible
* in AArch32.
*/
- fpsimd_preserve_current_state();
+ fpsimd_save_state(fpsimd);
/* Place structure header on the stack */
__put_user_error(magic, &frame->magic, err);
@@ -282,8 +282,11 @@ static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame)
* We don't need to touch the exception register, so
* reload the hardware state.
*/
- if (!err)
- fpsimd_update_current_state(&fpsimd);
+ if (!err) {
+ preempt_disable();
+ fpsimd_load_state(&fpsimd);
+ preempt_enable();
+ }
return err ? -EFAULT : 0;
}