Hi,
 
    I got a problem with the rtl_hard_enable_irq function.
    When i put the function in a rtl interrupt handler like this...
 
 
unsigned int int_handler(unsigned int irq, struct pt_regs *regs)
{
        long long t;
        t = lrdtsc();
        switch (irq) {
                case IRQ1 :
                      rtl_hard_enable_irq(IRQ1);
                      rtf_put(0, &t, sizeof(t));
                      break;
                case IRQ2 :
                      rtl_hard_enable_irq(IRQ2);
                      rtf_put(1, &t, sizeof(t));
                      break;                                                                                
                default :
                      break;
        }
        return 0;
}
    when there's an interrupt occur(IRQ1=4 , IRQ2=3 ), my system will
    crash seriously. But if i don't use the function. rtlinux will not receive
    anymore interrupt(IRQ1 and IRQ2) before rtl_global_pend_irq().
 
    I searched some others' codes, all of them put the rtl_hard_enable_irq
    in their interrupt handler. So i can not understand why my system crashed.
    Does anyone have the answer ?
   
    enviroment: redhat 7.0
                kernel2.2.19-rtl
                rtlinux-3.1
                NIC Card IRQ : 4 and 3
         
               

Reply via email to