Re: Race in setup_irq?

From: Adrian McMenamin
Date: Sun Nov 11 2007 - 16:21:18 EST


On 11/11/2007, Dmitry Adamushko <dmitry.adamushko@xxxxxxxxx> wrote:
> On 11/11/2007, Adrian McMenamin <lkmladrian@xxxxxxxxx> wrote
> > I am writing a device driver for the Dreamcast CD Drive (the "GD Rom")
> > and I am hitting what looks like some sort of race in
> > kernel/irq/manage.c. Can anybody point me in the right direction or is
> > there a bug here?
> >
> > This never seems to return in setup_irq:
> >
> > spin_unlock_irqrestore(&desc->lock, flags);
> >
> > (line 597)
>
> I guess, you are referring to setup_irq() (the line without a
> particular kernel version doesn't make much sense).
>


Sorry, it was in the config: 2.6.24-rc2

> What do you mean by "never seems to return"? Does your machine hang?
>



> If so, the reason might be some kind of (logical) error in your ISR.
> spin_unlock_irqrestore() unmasks the interrupts and your target device
> might have already generated an interrupt by this moment (sure, it
> depends on the initialization logic of your code and device spec.)...
> --> ISR runs and due to some error e.g. loops endlessly/deadlocks/etc.
>
> Tried placing printk() at the beginning of ISR?
>

You are absolutely right. Sorry for wasting evetybody's time and
thanks for the tip!
-
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/