diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2018-09-27 12:27:11 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-01 09:17:17 +0100 |
commit | 5dc441fbef91a8d05c0917942692d3c06d255e73 (patch) | |
tree | 87c13d33113405bd4cc10bdd43a9b210fa643837 | |
parent | 9cdfff0a5e61b0eed6f8a81f178939f06dc5b65b (diff) | |
download | linux-stable-5dc441fbef91a8d05c0917942692d3c06d255e73.tar.gz linux-stable-5dc441fbef91a8d05c0917942692d3c06d255e73.tar.bz2 linux-stable-5dc441fbef91a8d05c0917942692d3c06d255e73.zip |
soc: bcm: brcmstb: Fix re-entry point with a THUMB2_KERNEL
[ Upstream commit fb14ada11d62fb849fc357a25ef8016ba438ba10 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/soc/bcm/brcmstb/pm/pm-arm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/soc/bcm/brcmstb/pm/pm-arm.c b/drivers/soc/bcm/brcmstb/pm/pm-arm.c index a5577dd5eb08..8ee06347447c 100644 --- a/drivers/soc/bcm/brcmstb/pm/pm-arm.c +++ b/drivers/soc/bcm/brcmstb/pm/pm-arm.c @@ -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; |