[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1410953686-15072-1-git-send-email-chanho.min@lge.com>
Date: Wed, 17 Sep 2014 20:34:46 +0900
From: Chanho Min <chanho.min@....com>
To: Russell King <linux@....linux.org.uk>,
Stephen Boyd <sboyd@...eaurora.org>,
Michael Opdenacker <michael@...e-electrons.com>,
Linus Walleij <linus.walleij@...aro.org>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Jongsung Kim <neidhard.kim@....com>,
Chanho Min <chanho.min@....com>
Subject: [PATCH v2] ARM: timer-sp: ensure interrupt is cleared at sp804_of_init
sp804 may not be added to the tick device if the higher device is
already registered. In this case, If pending interrupt is existed
(usually It will be passed from the boot loader), inetrrupt is occured
without event_handler then it cause kernel panic. So Interrupts
should be cleared before clockevent is registered.
Changes since v1:
- Move to sp804_of_init
- Clear TIMER2 interrupt
- Update commit log
Signed-off-by: Chanho Min <chanho.min@....com>
---
arch/arm/common/timer-sp.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/common/timer-sp.c b/arch/arm/common/timer-sp.c
index fd6bff0..e3cc08e 100644
--- a/arch/arm/common/timer-sp.c
+++ b/arch/arm/common/timer-sp.c
@@ -226,6 +226,10 @@ static void __init sp804_of_init(struct device_node *np)
writel(0, base + TIMER_CTRL);
writel(0, base + TIMER_2_BASE + TIMER_CTRL);
+ /* Ensure interrupt is cleared */
+ writel(1, base + TIMER_INTCLR);
+ writel(1, base + TIMER_2_BASE + TIMER_INTCLR);
+
if (initialized || !of_device_is_available(np))
goto err;
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists