> Take a look at /proc/interrupts to see if you have something firing
> that you do not expect.
I took a look and this is what I see:
# cat /proc/interrupts
2: 0 PNX Level IRQ GIC
7: 0 PNX Level IRQ Timer
10: 661 PNX Level IRQ pnx8550-1
11: 605 PNX Level IRQ pnx8550-2
13: 1 PNX Level IRQ ohci_hcd:usb2
23: 583 PNX Level IRQ i2c
24: 845 PNX Level IRQ i2c
28: 334 PNX Level IRQ pnx8xxx-uart
34: 1 PNX Level IRQ Drawing Engine
47: 0 PNX Level IRQ vmsp1
49: 0 PNX Level IRQ vmsp2
55: 15876 PNX Level IRQ libata, ehci_hcd:usb1, ohci_hcd:usb3,
75: 18 PNX Level IRQ i2c
78: 192 PNX Level IRQ i2c
79: 80239 PNX Level IRQ timer
80: 19 PNX Level IRQ Monotonic timer
It looks like there are quite a few devices on irq 55 even before I load
my module. Is it at all possible that I could get my device to use a
different interrupt line? or is this totally restricted by hardware?
Also what does the "ERR" mean? Does this keep a tally of errors? If so
does 99K errors seem high?
> If you are sharing the same IRQ as USB, do you request the IRQ as
> shared? Does the USB as well?
My device does, yes. At this point I have to assume the USB driver is
too. But even if that was the problem, it wouldn't explain why the error
also happens when I don't request the interrupt at all.