lkml.org 
[lkml]   [2007]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Race in setup_irq?
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).

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?

--
Best regards,
Dmitry Adamushko
-
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/

\
 
 \ /
  Last update: 2007-11-11 22:13    [W:0.026 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site