Hi, Mugdha, Sorry for delay reply. I didn't check this email account recently. I found the issue is it should be unregistering when exit. But for exiting during error, it didn't do it. Thanks for help!
Best regards, Mike On Sun, Jun 8, 2008 at 9:26 PM, Kamoolkar, Mugdha <[EMAIL PROTECTED]> wrote: > Mike, > > This code is part of DSPLink isr.c. Are you trying to register an ISR for > shared or non-shared interrupt? If you are registering for shared interrupt > (such as PCI), you should use the SA_SHIRQ version, otherwise use 0. But the > define for DM642_PCI is very DSPLink-specific, so you should remove that if > you are doing your own thing. > > Regards, > Mugdha > > ------------------------------ > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Mike > Gao > *Sent:* Saturday, June 07, 2008 10:34 PM > *To:* [email protected] > *Subject:* why request_irq() return -16 on Davinci EVM? > > Hi, > > I met this issue when I try to setup a IRQ. It works before but stop > working without any change on kernel. > > osStatus = request_irq (isrObj->irq, > ISR_Callback, > #if defined (DM642_PCI) > SA_SHIRQ, > "DSPLINK", > #else /* if defined (DM642_PCI) */ > 0, /* non shared, non-fiq > */ > "DSP/BIOS LINK", > #endif /* if defined (DM642_PCI) */ > isrObj) ; > > > > go to the kernel code in irq.c to see the setup_irq(), some code like this, > > > /* > * The following block of code has to be executed atomically > */ > desc = irq_desc + irq; > #ifdef CONFIG_PREEMPT_HARDIRQS > if (!(new->flags & SA_NODELAY)) { > if (start_irq_thread(irq, desc)) > return -ENOMEM; > } > #endif > spin_lock_irqsave(&irq_controller_lock, flags); > p = &desc->action; > > if ((old = *p) != NULL) { > /* Can't share interrupts unless both agree to */ > if (!(old->flags & new->flags & SA_SHIRQ)) { > spin_unlock_irqrestore(&irq_controller_lock, flags); > return -EBUSY; > } > > Anybody can help me figure out what this means? > > Thanks very much in advance! > Mike > >
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
