From: Colin Cross Date: Fri, 20 Jul 2012 01:03:42 +0000 (+0100) Subject: ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP X-Git-Tag: v3.6-rc1~15^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24b35521b8ddf088531258f06f681bb7b227bf47;p=pandora-kernel.git ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP vfp_pm_suspend should save the VFP state in suspend after any lazy context switch. If it only saves when the VFP is enabled, the state can get lost when, on a UP system: Thread 1 uses the VFP Context switch occurs to thread 2, VFP is disabled but the VFP context is not saved Thread 2 initiates suspend vfp_pm_suspend is called with the VFP disabled, and the unsaved VFP context of Thread 1 in the registers Modify vfp_pm_suspend to save the VFP context whenever vfp_current_hw_state is not NULL. Includes a fix from Ido Yariv , who pointed out that on SMP systems, the state pointer can be pointing to a freed task struct if a task exited on another cpu, fixed by using #ifndef CONFIG_SMP in the new if clause. Cc: Barry Song Cc: Catalin Marinas Cc: Ido Yariv Cc: Daniel Drake Cc: Will Deacon Cc: stable@vger.kernel.org Signed-off-by: Colin Cross Signed-off-by: Russell King --- Reading git-diff-tree failed