]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
ARM: tegra: Re-add removed SoC id macro to tegra_resume()
authorDmitry Osipenko <digetx@gmail.com>
Fri, 10 Oct 2014 13:24:47 +0000 (17:24 +0400)
committerThierry Reding <treding@nvidia.com>
Mon, 17 Nov 2014 10:43:21 +0000 (11:43 +0100)
Commit d127e9c ("ARM: tegra: make tegra_resume can work with current and later
chips") removed tegra_get_soc_id macro leaving used cpu register corrupted after
branching to v7_invalidate_l1() and as result causing execution of unintended
code on tegra20. Possibly it was expected that r6 would be SoC id func argument
since common cpu reset handler is setting r6 before branching to tegra_resume(),
but neither tegra20_lp1_reset() nor tegra30_lp1_reset() aren't setting r6
register before jumping to resume function. Fix it by re-adding macro.

Fixes: d127e9c (ARM: tegra: make tegra_resume can work with current and later chips)
Cc: <stable@vger.kernel.org> # v3.13+
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm/mach-tegra/reset-handler.S

index 7b2baab0f0bd38751bd4065e67a47b93ac010668..71be4af5e975bec078508d1ea920568edf11b289 100644 (file)
@@ -51,6 +51,7 @@ ENTRY(tegra_resume)
  THUMB(        it      ne )
        bne     cpu_resume                      @ no
 
+       tegra_get_soc_id TEGRA_APB_MISC_BASE, r6
        /* Are we on Tegra20? */
        cmp     r6, #TEGRA20
        beq     1f                              @ Yes