linux/arch/arm
Colin Cross 24b35521b8 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 <ido@wizery.com>, 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 <bs14@csr.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ido Yariv <ido@wizery.com>
Cc: Daniel Drake <dsd@laptop.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-07-31 10:30:43 +01:00
..
boot ARM: SoC fixes 2012-06-24 10:57:59 -07:00
common ARM: dma-mapping: fix debug messages in dmabounce code 2012-06-13 14:25:16 +02:00
configs ARM: ux500: Provide regulator support for SMSC911x via Device Tree 2012-06-01 02:04:46 +02:00
include/asm ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+ 2012-07-31 10:30:41 +01:00
kernel ARM: 7468/1: ftrace: Trace function entry before updating index 2012-07-31 10:30:42 +01:00
lib ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs 2012-05-05 05:50:50 +01:00
mach-at91 Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-05-25 09:31:59 -07:00
mach-bcmring ARM: bcmring: fix UART declarations 2012-04-18 21:21:45 -07:00
mach-clps711x ARM: clps711x: Cleanup IRQ handling 2012-05-15 21:20:59 +02:00
mach-cns3xxx ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-davinci arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-dove ARM: Orion: Fix WDT compile for Dove and MV78xx0 2012-07-04 10:37:34 +02:00
mach-ebsa110
mach-ep93xx - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-exynos ARM: EXYNOS: Fix EXYNOS_DEV_DMA Kconfig entry 2012-06-27 10:03:00 +09:00
mach-footbridge ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-gemini
mach-h720x
mach-highbank ARM: highbank: Add smc calls to enable/disable the L2 2012-06-07 22:39:43 -07:00
mach-imx ARM: imx: assert SCC gate stays enabled 2012-07-04 09:38:29 +02:00
mach-integrator Merge branches 'amba', 'devel-stable', 'fixes', 'mach-types', 'mmci', 'pci' and 'versatile' into for-linus 2012-05-21 15:15:10 +01:00
mach-iop13xx ARM: PCI: get rid of pci_std_swizzle() 2012-05-13 17:12:16 +01:00
mach-iop32x ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-iop33x ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-ixp4xx - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-kirkwood ARM: Orion: Fix Virtual/Physical mixup with watchdog 2012-06-23 16:19:21 -07:00
mach-ks8695 ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-l7200/include/mach
mach-lpc32xx GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-mmp ARM: mmp: remove mach/gpio-pxa.h 2012-07-04 15:58:11 +08:00
mach-msm arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-mv78xx0 ARM: Orion: Fix WDT compile for Dove and MV78xx0 2012-07-04 10:37:34 +02:00
mach-mxs ARM: apx4devkit: fix FEC enabling PHY clock 2012-07-05 16:08:01 +08:00
mach-netx
mach-nomadik - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-omap1 - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-omap2 A few more OMAP fixes for 3.5-rc. These fix some bugs with power 2012-07-05 01:12:08 -07:00
mach-orion5x ARM: Orion: Fix Virtual/Physical mixup with watchdog 2012-06-23 16:19:21 -07:00
mach-picoxcell
mach-pnx4008 arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-prima2 arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-pxa ARM: pxa: hx4700: Fix basic suspend/resume 2012-07-01 14:40:58 +08:00
mach-realview
mach-rpc
mach-s3c24xx fbdev updates for 3.5 2012-06-01 16:57:51 -07:00
mach-s3c64xx fbdev updates for 3.5 2012-06-01 16:57:51 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 fbdev updates for 3.5 2012-06-01 16:57:51 -07:00
mach-s5pc100 fbdev updates for 3.5 2012-06-01 16:57:51 -07:00
mach-s5pv210 fbdev updates for 3.5 2012-06-01 16:57:51 -07:00
mach-sa1100 Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-05-29 18:21:44 -07:00
mach-shark ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-shmobile ARM: shmobile: r8a7779: Route all interrupts to ARM 2012-06-23 01:12:09 +02:00
mach-spear3xx Viresh has moved 2012-06-20 14:39:36 -07:00
mach-spear6xx Viresh has moved 2012-06-20 14:39:36 -07:00
mach-spear13xx Viresh has moved 2012-06-20 14:39:36 -07:00
mach-tegra ARM: tegra: make tegra_cpu_reset_handler_enable() __init 2012-06-18 16:42:57 -07:00
mach-u300 ARM: u300: bump all IRQ numbers by one 2012-04-20 09:52:58 +02:00
mach-ux500 serial/amba-pl011: move custom pin control to driver 2012-06-12 15:41:44 -07:00
mach-versatile ARM: fix mach-versatile/pci.c warning 2012-07-04 17:04:57 +01:00
mach-vexpress Merge branch 'late/soc' into devel-late 2012-05-30 16:06:46 -07:00
mach-vt8500
mach-w90x900
mach-zynq
mm ARM: fix warning caused by wrongly typed arm_dma_limit 2012-07-05 13:11:31 +01:00
net ARM: 7421/1: bpf_jit: BPF_S_ANC_ALU_XOR_X support 2012-06-14 15:12:13 +01:00
nwfpe Merge branch 'master' into for-next 2012-04-08 21:48:52 +02:00
oprofile
plat-iop ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
plat-mxc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-06-25 14:53:09 -07:00
plat-nomadik ARM: nomadik: enable PINCTRL_NOMADIK where needed 2012-05-15 14:42:57 +02:00
plat-omap Some uncontroversial OMAP clock, hwmod, and compiler warning fixes for 3.5-rc 2012-06-23 16:16:29 -07:00
plat-orion ARM: Orion: Fix Virtual/Physical mixup with watchdog 2012-06-23 16:19:21 -07:00
plat-pxa ARM: MMP: add pxa910-ssp into ssp_id_table 2012-06-11 12:25:50 +08:00
plat-s3c24xx ARM: S3C24XX: move common clock init into common.c 2012-05-12 16:22:18 +09:00
plat-samsung ARM: SAMSUNG: Fix for S3C2412 EBI memory mapping 2012-06-21 03:53:46 +09:00
plat-spear Viresh has moved 2012-06-20 14:39:36 -07:00
plat-versatile ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller 2012-05-04 16:53:37 +01:00
tools ARM: Update mach-types 2012-04-26 08:46:02 +01:00
vfp ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP 2012-07-31 10:30:43 +01:00
Kconfig ARM: Orion5x - Restore parts of io.h, with rework 2012-06-23 16:18:17 -07:00
Kconfig-nommu
Kconfig.debug arm-soc: device tree conversions, part 2 2012-05-26 12:57:47 -07:00
Makefile arm-soc: soc specific changes, part 2 2012-05-26 13:05:55 -07:00