diff options
author | Mark Brown <broonie@linaro.org> | 2014-06-26 10:50:14 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-26 10:50:14 +0100 |
commit | afe6ba0684ab75f5ee0306689e58b8b488319451 (patch) | |
tree | 20e659b8c8319cfe8c46b0ef93037e1dacbd5f8f /arch/arm64/kernel/signal32.c | |
parent | 713c7153774c6b8b4cdc5bb13a0616e1f8ce7d0e (diff) | |
parent | 9580f7022362bf717457b6b73de1e0ed0fede211 (diff) |
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-androidlsk-android-14.06
Diffstat (limited to 'arch/arm64/kernel/signal32.c')
-rw-r--r-- | arch/arm64/kernel/signal32.c | 9 |
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; } |