]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
soc: bcm: brcmstb: Fix re-entry point with a THUMB2_KERNEL
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 27 Sep 2018 19:27:11 +0000 (12:27 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Mon, 5 Nov 2018 18:41:25 +0000 (10:41 -0800)
When the kernel is built with CONFIG_THUMB2_KERNEL we would set the
kernel's resume entry point to be a function that is already built as
Thumb-2 code while the boot agent doing the resume is in ARM mode, so
this does not work. There is a header label defined: cpu_resume_arm
which we can use to do the switching for us.

Fixes: 0b741b8234c8 ("soc: bcm: brcmstb: Add support for S2/S3/S5 suspend states (ARM)")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
drivers/soc/bcm/brcmstb/pm/pm-arm.c

index a5577dd5eb0870bccff391f38c69f47c8d708fde..8ee06347447c0dfa3dede7d3164ba584631e7866 100644 (file)
@@ -404,7 +404,7 @@ noinline int brcmstb_pm_s3_finish(void)
 {
        struct brcmstb_s3_params *params = ctrl.s3_params;
        dma_addr_t params_pa = ctrl.s3_params_pa;
-       phys_addr_t reentry = virt_to_phys(&cpu_resume);
+       phys_addr_t reentry = virt_to_phys(&cpu_resume_arm);
        enum bsp_initiate_command cmd;
        u32 flags;