]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: EXYNOS: Do not resume l2x0 if not enabled before suspend
authorTomasz Figa <t.figa@samsung.com>
Mon, 17 Mar 2014 22:28:09 +0000 (07:28 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Thu, 20 Mar 2014 19:04:42 +0000 (04:04 +0900)
Trying to resume l2x0 if it was not enabled before suspend leads to
system crash. This patch prevents this by checking if l2x0_regs_phys is
a valid pointer to l2x0 context data saved on initialization.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/plat-samsung/s5p-sleep.S

index a030e7301da86a3654fb16cb0f9412280e192594..20764bd5518e43d2fd8bc9100dda32cc9e670119 100644 (file)
@@ -59,13 +59,15 @@ ENTRY(s3c_cpu_resume)
        and     r0, r0, r1
        ldr     r1, =CPU_CORTEX_A9
        cmp     r0, r1
-       bne     resume_l2on
+       bne     skip_l2_resume
        adr     r0, l2x0_regs_phys
        ldr     r0, [r0]
+       cmp     r0, #0
+       beq     skip_l2_resume
        ldr     r1, [r0, #L2X0_R_PHY_BASE]
        ldr     r2, [r1, #L2X0_CTRL]
        tst     r2, #0x1
-       bne     resume_l2on
+       bne     skip_l2_resume
        ldr     r2, [r0, #L2X0_R_AUX_CTRL]
        str     r2, [r1, #L2X0_AUX_CTRL]
        ldr     r2, [r0, #L2X0_R_TAG_LATENCY]
@@ -78,7 +80,7 @@ ENTRY(s3c_cpu_resume)
        str     r2, [r1, #L2X0_POWER_CTRL]
        mov     r2, #1
        str     r2, [r1, #L2X0_CTRL]
-resume_l2on:
+skip_l2_resume:
 #endif
        b       cpu_resume
 ENDPROC(s3c_cpu_resume)