lkml.org 
[lkml]   [2017]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: PROBLEM: Kernel BUG in mfgpt_tick (cs5535-clockevt.c) on ALIX 2c3 - null call
From
Date
On 11/10/2017 22:48, David Kozub wrote:

[ ... ]

>>
>> +       disable_timer(timer);
>> +       cs5535_mfgpt_write(timer, MFGPT_REG_COUNTER, 0);
>> +
>>        /* Set up the IRQ on the MFGPT side */
>>        if (cs5535_mfgpt_setup_irq(timer, MFGPT_CMP2, &timer_irq)) {
>>                printk(KERN_ERR DRV_NAME ": Could not set up IRQ %d\n",
>
> I tried that and the handler is still called. So I did some more random
> experiments and I found out that if I call disable_timer(timer) twice,
> then the issue is resolved (the handler is not called before the
> registration is finished.) And I don't have to set MFGPT_REG_COUNTER to 0.

Aha! we are close to a fix.

> I have no idea why do I have to call disable_timer twice.

For testing purpose, can you try by adding mmiowb() and/or wmb() after
disable_timer()?




--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

\
 
 \ /
  Last update: 2017-10-12 14:49    [W:0.054 / U:0.832 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site