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.

Signed-off-by: Yuanyuan Zhong <zyy@motorola.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Yuanyuan Zhong 2013-10-30 17:31:49 +01:00 committed by Russell King
parent 0ea1ec713f
commit 384b38b669

View File

@ -642,9 +642,9 @@ int vfp_restore_user_hwstate(struct user_vfp __user *ufp,
static int vfp_hotplug(struct notifier_block *b, unsigned long action, static int vfp_hotplug(struct notifier_block *b, unsigned long action,
void *hcpu) void *hcpu)
{ {
if (action == CPU_DYING || action == CPU_DYING_FROZEN) { if (action == CPU_DYING || action == CPU_DYING_FROZEN)
vfp_force_reload((long)hcpu, current_thread_info()); vfp_current_hw_state[(long)hcpu] = NULL;
} else if (action == CPU_STARTING || action == CPU_STARTING_FROZEN) else if (action == CPU_STARTING || action == CPU_STARTING_FROZEN)
vfp_enable(NULL); vfp_enable(NULL);
return NOTIFY_OK; return NOTIFY_OK;
} }