Interrupt routine did not work

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

 



Hello List,

aktually I have some disagreements with my interrupt routine for a PCI
board.

I'm writing a driver module an should react on different interrupt sources.T
 he interrupt wil be generated for example by the timer. I can check the 
correct interrupt levels on the PCI Bus (4V -> 0V if an interrupt occurs),b
 ut my interrupt routine is not called. Maybe, and I think it's right, myc
 ode has one or more failures. Please can anybody take a look on it,
I don't know whats could be wrong

In my code I create a pointer to a structure:

str_BoardInformations *BoardInformations;

void APCI1500_bh_Interrupt(void)
{
    //Send a signal to from kernel to user space
    send_sig(SIGIO,tsk_Current,0);
    printk("APCI1500_bh_Interrupt()\n");
    
}

void APCI1500_Interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
   INT i;
   BYTE    b_RegValue;
   ULONG  ul_Status;
   BoardInformations = dev_id;
   printk("\nAPCI1500_Interrupt -Function\n\n\n");

   /* Here starts code to reset the interrupt line */
}



To set the interrupt routine I do it like this:
(This is in my IOCTL function)
            ...

            i =
request_irq(BoardInformations->s_BaseInformations.b_Interrupt,
APCI1500_Interrupt, SA_SHIRQ, "APCI1500", BoardInformations);
            printk("Request IRQ: %d\n", i);

            /*Initalization of tq_bhInterrupt*/
            tq_bhInterrupt.next=NULL;
            tq_bhInterrupt.sync=0;
            tq_bhInterrupt.routine=APCI1500_bh_Interrupt;

            if(!tsk_Current)
               tsk_Current=current;                 /*Now current point to
the process that at open*/

            ...
}

Can anybody tell me, why the interrupt routine APCI1500_Interrupt isn't
called?
I need the Interrupt routine to reset the interrupt level. Without
resetting, the PC
hangs everytime an interrupt occurs :-(. 

Many thanks for help.

With the best regards,

Eric Stolz

--------------------------------------------------------
 ADDI-DATA GmbH
 Dieselstraße 3 
 D-77833 OTTERSWEIER
 Tel : +49(0)7223 94930
 Fax : +49(0)7223 949392
 e-mail : stolz.eric@addi-data.com
 --------------------------------------------------------
    


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

**********************************************************************
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux