From 590164b5c7f71803df71bca35ff4a7ed12118fe9 Mon Sep 17 00:00:00 2001 From: Jianxin Pan Date: Fri, 28 Jun 2019 01:23:55 -0400 Subject: [PATCH] wakeup: fix endless loop in wakeup source show [1/1] PD#SWPL-10134 Problem: endless loop in wakeup source show Solution: fix endless loop in wakeup source show Verify: TL1 Change-Id: If2318e31388b4a656cf8d99058f8aeaf76ff97a0 Signed-off-by: Jianxin Pan --- drivers/base/power/wakeup.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index fd1b5c8..03eb3eb7 100644 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c @@ -1075,8 +1075,16 @@ static int wakeup_sources_stats_show(struct seq_file *m, void *unused) "last_change\tprevent_suspend_time\n"); srcuidx = srcu_read_lock(&wakeup_srcu); - list_for_each_entry_rcu(ws, &wakeup_sources, entry) + list_for_each_entry_rcu(ws, &wakeup_sources, entry) { print_wakeup_source_stats(m, ws); +#ifdef CONFIG_AMLOGIC_MODIFY + if (ws->entry.next == ws->entry.prev) { + pr_err(" <%s> name:%s <%p, %p>\n", __func__, + ws->name, ws->entry.next, ws->entry.prev); + break; + } +#endif + } srcu_read_unlock(&wakeup_srcu, srcuidx); print_wakeup_source_stats(m, &deleted_ws); -- 2.7.4