diff options
author | Yuanyuan Zhong <zyy@motorola.com> | 2013-10-30 17:31:49 +0100 |
---|---|---|
committer | Caio Schnepper <caioschnepper@gmail.com> | 2015-07-01 09:02:34 -0300 |
commit | 01983eca8da95010380dce7910fd6e0bcb8c7340 (patch) | |
tree | f13983cd8861064cadaaedda0aa3ada6e5ffc604 /arch | |
parent | fe7cf1bb130d36c238d721a350ed6471d0e2b81e (diff) | |
download | kernel_samsung_smdk4412-01983eca8da95010380dce7910fd6e0bcb8c7340.zip kernel_samsung_smdk4412-01983eca8da95010380dce7910fd6e0bcb8c7340.tar.gz kernel_samsung_smdk4412-01983eca8da95010380dce7910fd6e0bcb8c7340.tar.bz2 |
ARM: 7873/1: vfp: clear vfp_current_hw_state for dying cpu
The CPU_DYING notifier is called by cpu stopper task which
does not own the context held in the VFP hardware. Calling
vfp_force_reload() has no effect.
Replace it with clearing vfp_current_hw_state.
Change-Id: If6ea6b94e04dc4588c5bf2ec0fad4d0dcc49ffd6
Signed-off-by: Yuanyuan Zhong <zyy@motorola.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Lanchon <lanchon@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/vfp/vfpmodule.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index 6c80b61..2541b9b 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c @@ -639,9 +639,9 @@ int vfp_restore_user_hwstate(struct user_vfp __user *ufp, static int vfp_hotplug(struct notifier_block *b, unsigned long action, void *hcpu) { - if (action == CPU_DYING || action == CPU_DYING_FROZEN) { - vfp_force_reload((long)hcpu, current_thread_info()); - } else if (action == CPU_STARTING || action == CPU_STARTING_FROZEN) + if (action == CPU_DYING || action == CPU_DYING_FROZEN) + vfp_current_hw_state[(long)hcpu] = NULL; + else if (action == CPU_STARTING || action == CPU_STARTING_FROZEN) vfp_enable(NULL); return NOTIFY_OK; } |