Hi Daniel,

> On 04.01.2017, at 15:19, Daniel Lezcano <daniel.lezc...@linaro.org> wrote:
> 
> On 02/01/2017 10:34, Viresh Kumar wrote:
> 
> [ ... ]
> 
>>> --- a/drivers/clocksource/cs5535-clockevt.c
>>> +++ b/drivers/clocksource/cs5535-clockevt.c
>>> @@ -117,7 +117,8 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
>>>     /* Turn off the clock (and clear the event) */
>>>     disable_timer(cs5535_event_clock);
>>> 
>>> -   if (clockevent_state_shutdown(&cs5535_clockevent))
>>> +   if (clockevent_state_shutdown(&cs5535_clockevent) ||
>>> +                   clockevent_state_detached(&cs5535_clockevent))
>>>             return IRQ_HANDLED;
>>> 
>>>     /* Clear the counter */
>> 
>> Sorry for breaking it, but it looks we have unearthed a bug because of
>> my patch.
>> 
>> I wouldn't enable the IRQ unless the clockevents core has asked for
>> it, i.e. by calling set_state_periodic() or set_state_oneshot().
>> 
>> The driver is currently enabling the IRQ from its init code and that's
>> where the problem is IMHO.
> 
> Hi David,
> 
> can you look at this ?

Yes, sure! I’ll get back to you with a new patch.

- David

Reply via email to