diff options
Diffstat (limited to 'arch/arm/kernel/signal.c')
| -rw-r--r-- | arch/arm/kernel/signal.c | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 0340224cf73..9e617bd4a14 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -227,6 +227,8 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame)  	if (magic != VFP_MAGIC || size != VFP_STORAGE_SIZE)  		return -EINVAL; +	vfp_flush_hwstate(thread); +  	/*  	 * Copy the floating point registers. There can be unused  	 * registers see asm/hwcap.h for details. @@ -251,9 +253,6 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame)  	__get_user_error(h->fpinst, &frame->ufp_exc.fpinst, err);  	__get_user_error(h->fpinst2, &frame->ufp_exc.fpinst2, err); -	if (!err) -		vfp_flush_hwstate(thread); -  	return err ? -EFAULT : 0;  }  |