RTL Sharing IRQ with linux

"Ding Guijin" <[email protected]>
Newsgroups gmane.linux.real-time.rtlinux.general
Message-ID <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAdzL5RChA5EGWPKmISqvvp8KAAAAQAAAAflW8/[email protected]>
Hi,
	I try to share IRQ between RTLinux interrupt handler and linux
device driver. But failed, who can explain it?

	My env:
	Intel Celeron 2.4, DDR 512M, HD 40G
	linux 2.2.18, rtlinux-3.0
	Debian 3.0
	
	My PCI device will generate a interrupt 11(Maybe BIOS assign).
in my host the USB controller and RTL8139 controller sharing the
interrupt 11.
	The following is my method and some pseudo code:
	
intr_handler()
{
	if(is_my_device_irq()) {
		//do something
		rtl_enable_hard_irq();
	}
	rtl_pend_global_irq();
}

module_init()
{
	rtl_request_gloabl_irq(intr, intr_handler);
	rtl_hard_enable_irq(intr);
}

module_cleanup()
{
	//rtl_hard_disable_irq(intr);
	rtl_free_global_irq(intr);
}

the problem:
	insmod rt module, the general linux intr can work
	rmmod rt module, the system will die
	but before rtl_free_global_irq(intr); insert
rtl_disable_hard_irq(); the system is OK, but linux intr will be
blocked, the Ethernet card can not work.
	
	

Ding Guijin
Zinglabs Technologies
Addr:23rd Floor, Building 2, 
ShangDi International High Tech Park, No.2 Information Road, 
ShangDi, HaiDian District Beijing, China 100085
Tel: 8610-82893030 ext.515
Fax: 8610-82893190
http://www.zinglabs.com


_______________________________________________
Rtl mailing list
[email protected]
http://www2.fsmlabs.com/mailman/listinfo/rtl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.