When running suspend/resume feature with below commands:
There is below call trace reported after system is woke up
Call trace:
 handle_irq_desc+0x4c/0x68
 tegra186_pmc_wake_syscore_resume+0x170/0x1d8
 syscore_resume+0x58/0x1c0
 suspend_devices_and_enter+0x54c/0x8a0
 pm_suspend+0x1f8/0x240
 state_store+0x88/0x118
 ......
 el0_svc+0x30/0xf8
 el0t_64_sync_handler+0x120/0x138
 el0t_64_sync+0x190/0x198
This issue is introduced by commit 0474cc8489bd("soc/tegra: pmc: Process
wake events during resume"). In general, generic_handle_irq() should be
called in interrupt context, so simulate interrupt environment before
invoking it to avoid reporting call tarce.

Signed-off-by: Meng Li <[email protected]>
---
 drivers/soc/tegra/pmc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index f3e62f75b795..a9dc15ec8a13 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -3390,6 +3390,7 @@ static void tegra186_pmc_process_wake_events(struct 
tegra_pmc *pmc, unsigned int
                                             unsigned long status)
 {
        unsigned int wake;
+       unsigned long flags;
 
        dev_dbg(pmc->dev, "Wake[%d:%d]  status=%#lx\n", (index * 32) + 31, 
index * 32, status);
 
@@ -3407,7 +3408,11 @@ static void tegra186_pmc_process_wake_events(struct 
tegra_pmc *pmc, unsigned int
                }
 
                dev_dbg(pmc->dev, "Resume caused by WAKE%ld, %s\n", hwirq, 
desc->action->name);
+               local_irq_save(flags);
+               irq_enter();
                generic_handle_irq(irq);
+               irq_exit();
+               local_irq_restore(flags);
        }
 }
 
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15971): 
https://lists.yoctoproject.org/g/linux-yocto/message/15971
Mute This Topic: https://lists.yoctoproject.org/mt/116271230/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to