Re: [rtc-linux] Re: [PATCH] rtc: Make rtc_update_irq callable withirqs enabled

From: Atsushi Nemoto
Date: Sat Apr 25 2009 - 08:42:14 EST


On Fri, 24 Apr 2009 21:41:17 +0200, Alessandro Zummo <alessandro.zummo@xxxxxxxxxxxx> wrote:
> > RTC alarm interrupt handler takes rtc->irq_lock by spin_lock()
> > > 2. A timer interrupt handler calls rtc_uie_timer() for UIE emulation
> > > 3. rtc_uie_timer() waits on rtc->irq_lock .... deadlock!
> >
> > Oops, this is wrong. This deadlock cannot happen since
> > rtc_uie_timer() will be called in bh (softirq) context, not interrupt
> > context.
>
> Correct.
>
> And we have only one irq handler per driver. Anything else?

Some drivers (omap, pxa, etc.) have multiple irq handler. Currently
all such drivers use IRQF_DISABLED so I do not see any real problem
now.

So I think my patch is rather "cleanup and bulletproof" than "bugfix".

---
Atsushi Nemoto
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/