usb interrupt conflict with RTAI

Dietrich Pescoller <[email protected]> Tue, 22 Aug 2017 11:40:11 +0200
Newsgroups gmane.linux.real-time.rtai
Message-ID <3743455.Imx2nz921h@lt121>
Dear all, 

I'm facing an issue with shared interrupts

The problem I have is that i wanted to integrate a USB-stick for storage, but 
my USB system is conflicting with the RTAI system. 

As soon as I load the usb-storage.ko module I get the following message from 
the 
kernel:
        RTDM: xnintr_irq_handler: IRQ11 not handled. Disabling IRQ line.

After this message the system system stops working, i.e. no RT ethernet 
packets are received anymore.

My setup is quite old and is as follow:
- Linux Kernel 2.6.19.7
- rtai-3.6
- rtnet-0.9.11

looking at /proc/interrupts
====
  0:     108824    XT-PIC-XT        timer, rtai_broadcast
  1:          8    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  4:          0    XT-PIC-XT        tpmc901drv
  7:       2392    XT-PIC-XT        eth0
  9:          0     XT-PIC-XT        uhci_hcd:usb2
 11:         28   XT-PIC-XT        uhci_hcd:usb1  <--- conflicting interrupt
 12:          3    XT-PIC-XT        i8042
 14:          0    XT-PIC-XT        libata
 15:       1773    XT-PIC-XT        libata
NMI:          1 
LOC:     108794 
ERR:          0
MIS:          0

and /proc/rtai/hal
====

** Real-time IRQs used by RTAI: 

    #3 at e00ab290
    #4 at e00e3279
    #11 at e3b85420    <--- conflicting interrupt
    #215 at e00cbb80
    #216 at e00cb2d0

I see that the irq #11 is shared between an Ethernet NIC and the USB, and 
something is not handled properly. The Ethernet NIC is in handled by a RTNET 
driver i.e. e1000.ko. 

I searched for a possibility to remap this interrupt in the BIOS of my board 
but unfortunately there seems to be no option for that. 

I see here the following possible solutions but I did not found a way manage 
them (I'm still blocked in the teory...)

1) try to understand why the shared interrupt #11 is not forwarded to linux, 
is probably a rtnet e1000 driver issue... avoiding RTDM to disable the IRQ 
line.
2) remap the interrupt by software, I don't know if this is possible...

Many thanks in advance for your help/advices

Bye,
Dietrich
_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai