John, I've been fighting with this as well. So far what I've done is the following:
void interrupt_handler( int irq, struct pt_regs *regs ) { if( board_being_used ) { irqs = test_board_for_pending_irqs(); if( irqs ) { clear_irqs_on_board(); /* handle interrupt */ rtl_hard_enable_irq( irq ); } } else clear_irqs_on_board(); rtl_gloabl_pend_irq( irq ); } The above works for a little while, but I still get lock-ups every now and then. However, I'm not 100% sure that my interrupt handler is the cause (any comments on the above code?). I think what you're missing in the rtl_global_pend_irq(). > -----Original Message----- > From: Seybold, John B [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 19, 2002 4:08 PM > To: '[EMAIL PROTECTED]' > Subject: [Rtl]shared IRQ and RTLinux interrupt handlers > > > For reasons we don't understand, the plug & play system moved > the IRQ for > our custom board to share an IRQ with the Ethernet > controller. Now when we > try to install our custom RTLinux module the Ethernet interface dies. > > We looked in ...MAN\rtl_request_irq.3.html, which says "If it > is necessary > to receive further interrupts from this device, you must reenable the > interrupt line with the rtl_hard_enable_irq(3) function."; > after the reply > by Yodaiken on 9/12, it sounds like this sentence was meant > to cover only > highly unusual cases, and a normal RTLinux interrupt handler > should just > handle and clear the associated interrupt source and then > return. Right?? > > Even if we leave the interrupts on our custom board disabled > and install an > interrupt handler that just executes a return 0, installing > the module with > a shared IRQ still kills the Ethernet interface that shares the IRQ. > > Do we need to do anything in our interrupt handler to support shared > interrupts? > > Is there anything that we can do to force a unique IRQ for > our plug and play > board? > > Thanks > John > _______________________________________________ > Rtl mailing list > [EMAIL PROTECTED] > http://www2.fsmlabs.com/mailman/listinfo.cgi/rtl > _______________________________________________ Rtl mailing list [EMAIL PROTECTED] http://www2.fsmlabs.com/mailman/listinfo.cgi/rtl