mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
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:
parent
0ea1ec713f
commit
384b38b669
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user