Messages in this thread | | | Subject | Re: [PATCH] clockevents/drivers/cs5535: Un-break driver with 'set-state' interface | From | David Gstir <> | Date | Wed, 4 Jan 2017 15:22:18 +0100 |
| |
Hi Daniel,
> On 04.01.2017, at 15:19, Daniel Lezcano <daniel.lezcano@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
| |