Jo !

I have a problem with an interrupt handler in RT Linux rtlinux30pre6c
running on a 2.2.17pre13 machine.

I have a CAN card which is configured to create interrupts on line 7. I
install a handler with a function like this:

----
int CAN_Interrupt=7;

int CanEnableInterrupt(unsigned int (*handler)(unsigned int irq, struct pt_regs *regs))
{
  int ret;
  ret = rtl_request_irq(CAN_Interrupt,handler);
  if (ret != 0) {
    rtl_printf("CAN-ISA-Phytec: Couldn't get interrupt for CAN Card.\n");
  }
  rtl_hard_enable_irq(CAN_Interrupt);
  return ret;
}
---

The handler looks like this:

---
unsigned int CanInterrupt(unsigned int irq, struct pt_regs *regs)
{
  // ...
  // code for copying the information
  // later used by a rt-thread
  // ...

  rtl_hard_enable_irq(CAN_Interrupt);
}
---

Somehow the handler is never called, even when the card produces interrupts.
Did I miss something ?

This scheme worked quite well under v1.x and we intend to port aur system
properly to rt v3.0 but we are in need for a running system while proting
and we need linux 2.2.

blue skies
        Jan Albiez
 
-- 
-- Jan Christian Albiez --    
-- FZI -- Haid-und-Neu-Str. 10-14 -- 76131 Karlsruhe -- +49 721 9654 206 --
-- segmentation violation in module reality.o ...
                                ... please shutdown your universe and reboot --
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to