diff options
author | Yogish Kulkarni <yogishk@nvidia.com> | 2015-02-23 15:21:54 +0530 |
---|---|---|
committer | Matthew Pedro <mapedro@nvidia.com> | 2015-03-02 12:00:51 -0800 |
commit | a71b0f9ef30ed733fad8770a1fa5f2ab1c1b8f2a (patch) | |
tree | 57e92fb01118192ed34993a3f1f61f594b4b05e3 /arch | |
parent | c9a21f041658d65abefff5d40fc97e23c3683799 (diff) |
Revert "DROP! Revert "ARM: 7419/1: vfp: fix VFP flushing regression on sigreturn path""
Reverting because this change causes __memcpy_neon() to corrupt if
interrupted by signal handler.
Bug 200046014
This reverts commit e700ffc891047182e16f53fc0238c8fd9bf72007.
Change-Id: I53d7214259fcff94e01bed141a4b9e6a7b29890e
Reviewed-on: http://git-master/r/710306
Signed-off-by: Yogish Kulkarni <yogishk@nvidia.com>
(cherry picked from commit d0ef94fa57264e047bf3873a60d01709a617887b)
Reviewed-on: http://git-master/r/710309
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/vfp/vfpmodule.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index da9cc262f14d..41c9a3b53161 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c @@ -589,12 +589,6 @@ int vfp_preserve_user_clear_hwstate(struct user_vfp __user *ufp, * entry. */ hwstate->fpscr &= ~(FPSCR_LENGTH_MASK | FPSCR_STRIDE_MASK); - - /* - * Disable VFP in the hwstate so that we can detect if it gets - * used. - */ - hwstate->fpexc &= ~FPEXC_EN; return 0; } @@ -607,12 +601,8 @@ int vfp_restore_user_hwstate(struct user_vfp __user *ufp, unsigned long fpexc; int err = 0; - /* - * If VFP has been used, then disable it to avoid corrupting - * the new thread state. - */ - if (hwstate->fpexc & FPEXC_EN) - vfp_flush_hwstate(thread); + /* Disable VFP to avoid corrupting the new thread state. */ + vfp_flush_hwstate(thread); /* * Copy the floating point registers. There can be unused |