mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
drivers/clocksource/pistachio: Fix memory corruption in init
Driver init code incorrectly uses the block base address and as a result clears clocksource structure's fields instead of the hardware registers. Commit 09a998201649 ("timekeeping: Lift clocksource cacheline restriction") has changed the offsets within pistachio_clocksource structure and what has previously gone unnoticed now leads to a kernel panic during boot. Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
parent
699e36e5b8
commit
4d0e701659
@ -202,10 +202,10 @@ static int __init pistachio_clksrc_of_init(struct device_node *node)
|
||||
rate = clk_get_rate(fast_clk);
|
||||
|
||||
/* Disable irq's for clocksource usage */
|
||||
gpt_writel(&pcs_gpt.base, 0, TIMER_IRQ_MASK, 0);
|
||||
gpt_writel(&pcs_gpt.base, 0, TIMER_IRQ_MASK, 1);
|
||||
gpt_writel(&pcs_gpt.base, 0, TIMER_IRQ_MASK, 2);
|
||||
gpt_writel(&pcs_gpt.base, 0, TIMER_IRQ_MASK, 3);
|
||||
gpt_writel(pcs_gpt.base, 0, TIMER_IRQ_MASK, 0);
|
||||
gpt_writel(pcs_gpt.base, 0, TIMER_IRQ_MASK, 1);
|
||||
gpt_writel(pcs_gpt.base, 0, TIMER_IRQ_MASK, 2);
|
||||
gpt_writel(pcs_gpt.base, 0, TIMER_IRQ_MASK, 3);
|
||||
|
||||
/* Enable timer block */
|
||||
writel(TIMER_ME_GLOBAL, pcs_gpt.base);
|
||||
|
Loading…
x
Reference in New Issue
Block a user