Messages in this thread | | | Date | Sun, 11 Nov 2007 21:21:01 +0000 | From | "Adrian McMenamin" <> | Subject | Re: Race in setup_irq? |
| |
On 11/11/2007, Dmitry Adamushko <dmitry.adamushko@gmail.com> wrote: > On 11/11/2007, Adrian McMenamin <lkmladrian@gmail.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |