Re: Race in setup_irq?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/11/2007, Adrian McMenamin <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux