[PATCH] warn about shared irqs requesting IRQF_DISABLED registered with setup_irq

Thomas Gleixner
2009-11-28T21:50:02Z

On Sat, 28 Nov 2009, Uwe Kleine-K?nig wrote:

> On Fri, Nov 27, 2009 at 11:18:00PM +0100, Thomas Gleixner wrote:
> > On Fri, 27 Nov 2009, Uwe Kleine-K?nig wrote:
> >
> > > IRQF_DISABLED is not guaranteed on shared irqs. There is already a
> > > warning in place for irqs registered with request_irq (introduced in
> > > 470c66239ef03). Move it to __setup_irq, this way it triggers for both
> > > request_irq and setup_irq.
> > >
> > > One irq that is now warned about is the timer tick on at91 (ARCH=arm).
> >
> > And how does that help ? The interrupt is shared between the timer and
> > the debug port. There is nothing you can do about that.
> >
> > The interupt handlers are called in order of setup. The AT91 timer
> > irq is set up first and if that's not the case then it needs to be
> > fixed and the only way to catch it is in the affected interrupt
> > handler.
>
> Russell already suggests to save (and restore) irqs in the handler
> before (and after resp.) calling the clockevent functions.

What about analysing the code and verifying that the setup order is
correct ?

Adding save/restore_irq just because you have no clue what the code
does is utter nonsense.

Thanks,

tglx