summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/sleep44xx.S
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-07 08:19:03 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-07 08:19:03 -0700
commit23649aa6f116f71984e0f72921c229f101bb327e (patch)
treeddf7976de1b7ad1ee2bb2278ceb35d9186820adf /arch/arm/mach-omap2/sleep44xx.S
parent7f7cd3cac90509cfa9d2ff36fabc59fb9031bfeb (diff)
parentf4a53c55117b82e895ec98b1765c9d66940377fc (diff)
downloadblackbird-op-linux-23649aa6f116f71984e0f72921c229f101bb327e.tar.gz
blackbird-op-linux-23649aa6f116f71984e0f72921c229f101bb327e.zip
Merge tag 'fixes-for-v3.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into work-linus
usb: fixes for v3.6-rc4 Here's a rather big set of fixes for v3.6-rc4. There are some fixes for bugs which have been pending for a long time and only now were uncovered, like the musb and dwc3 patches. We have some remaining fixes for the ep->desc patch series from Ido, a fix for renesas DMA usage, IRQ check on musb's DMA and an oops fix on musb Host implementation. All patches have been pending on linux-usb for a long time and shouldn't cause any further regressions.
Diffstat (limited to 'arch/arm/mach-omap2/sleep44xx.S')
-rw-r--r--arch/arm/mach-omap2/sleep44xx.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/sleep44xx.S b/arch/arm/mach-omap2/sleep44xx.S
index 9f6b83d1b193..91e71d8f46f0 100644
--- a/arch/arm/mach-omap2/sleep44xx.S
+++ b/arch/arm/mach-omap2/sleep44xx.S
@@ -56,9 +56,13 @@ ppa_por_params:
* The restore function pointer is stored at CPUx_WAKEUP_NS_PA_ADDR_OFFSET.
* It returns to the caller for CPU INACTIVE and ON power states or in case
* CPU failed to transition to targeted OFF/DORMANT state.
+ *
+ * omap4_finish_suspend() calls v7_flush_dcache_all() which doesn't save
+ * stack frame and it expects the caller to take care of it. Hence the entire
+ * stack frame is saved to avoid possible stack corruption.
*/
ENTRY(omap4_finish_suspend)
- stmfd sp!, {lr}
+ stmfd sp!, {r4-r12, lr}
cmp r0, #0x0
beq do_WFI @ No lowpower state, jump to WFI
@@ -226,7 +230,7 @@ scu_gp_clear:
skip_scu_gp_clear:
isb
dsb
- ldmfd sp!, {pc}
+ ldmfd sp!, {r4-r12, pc}
ENDPROC(omap4_finish_suspend)
/*
OpenPOWER on IntegriCloud