LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   System freezes, disabling IRQ channel in Slackware 13 (http://www.linuxquestions.org/questions/slackware-14/system-freezes-disabling-irq-channel-in-slackware-13-a-766493/)

robby_dobby 11-03-2009 09:40 AM

System freezes, disabling IRQ channel in Slackware 13
 
Hey folks,

I got an issue that got me stumped. The system simply freezes for a few minutes resulting in a complete disabling of IRQ #5. This happens regardless of whether I'm in X or working from the console.

Here's the stack trace from the syslog:

Quote:


Nov 3 19:16:27 localhost kernel: Pid: 2902, comm: mutt Not tainted 2.6.29.6-smp #2
Nov 3 19:16:27 localhost kernel: Call Trace:
Nov 3 19:16:27 localhost kernel: [<c0157604>] __report_bad_irq+0x24/0x90
Nov 3 19:16:27 localhost kernel: [<c01577c7>] note_interrupt+0x157/0x1a0
Nov 3 19:16:27 localhost kernel: [<c0157f6b>] handle_level_irq+0xab/0xd0
Nov 3 19:16:27 localhost kernel: [<c0105523>] do_IRQ+0x43/0x90
Nov 3 19:16:27 localhost kernel: [<c0103927>] common_interrupt+0x27/0x2c
Nov 3 19:16:27 localhost kernel: [<c0103927>] common_interrupt+0x27/0x2c
Nov 3 19:16:27 localhost kernel: [<c067cd08>] i8042_interrupt+0xc8/0x270
Nov 3 19:16:27 localhost kernel: [<c0147ba7>] tick_handle_periodic+0x17/0x90
Nov 3 19:16:27 localhost kernel: [<c0156938>] handle_IRQ_event+0x28/0x50
Nov 3 19:16:27 localhost kernel: [<c0157f24>] handle_level_irq+0x64/0xd0
Nov 3 19:16:27 localhost kernel: [<c0105523>] do_IRQ+0x43/0x90
Nov 3 19:16:27 localhost kernel: [<c0103927>] common_interrupt+0x27/0x2c
Nov 3 19:16:27 localhost kernel: [<c015694c>] handle_IRQ_event+0x3c/0x50
Nov 3 19:16:27 localhost kernel: [<c04b4380>] fcoe_watchdog+0x0/0x70
Nov 3 19:16:27 localhost kernel: [<c0157f24>] handle_level_irq+0x64/0xd0
Nov 3 19:16:27 localhost kernel: [<c0105523>] do_IRQ+0x43/0x90
Nov 3 19:16:27 localhost kernel: [<c0105528>] do_IRQ+0x48/0x90
Nov 3 19:16:27 localhost kernel: [<c0105528>] do_IRQ+0x48/0x90
Nov 3 19:16:27 localhost kernel: [<c0103927>] common_interrupt+0x27/0x2c
Nov 3 19:16:27 localhost kernel: [<c04b4380>] fcoe_watchdog+0x0/0x70
Nov 3 19:16:27 localhost kernel: [<c0133471>] __mod_timer+0x1/0xa0
Nov 3 19:16:27 localhost kernel: [<c04b4380>] fcoe_watchdog+0x0/0x70
Nov 3 19:16:27 localhost kernel: [<c0132f39>] run_timer_softirq+0xf9/0x1c0
Nov 3 19:16:27 localhost kernel: [<c012ecff>] __do_softirq+0x8f/0x130
Nov 3 19:16:27 localhost kernel: [<e4cdb0b0>] parport_irq_handler+0x20/0x50 [parport]
Nov 3 19:16:27 localhost kernel: [<c012eddd>] do_softirq+0x3d/0x50
Nov 3 19:16:27 localhost kernel: [<c0105528>] do_IRQ+0x48/0x90
Nov 3 19:16:27 localhost kernel: [<c0103927>] common_interrupt+0x27/0x2c
Nov 3 19:16:27 localhost kernel: handlers:
Nov 3 19:16:27 localhost kernel: [<e4ac2d20>] (rtl8139_interrupt+0x0/0x4f0 [8139too])
Nov 3 19:16:27 localhost kernel: Disabling IRQ #5


Here's my output from "lspci|grep Ethernet"
Quote:

00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Here's the output of : dmesg|grep "IRQ 5"
Quote:


ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
8139too 0000:00:0a.0: PCI INT A -> Link[LNKB] -> GSI 5 (level, low) -> IRQ 5
eth0: RealTek RTL8139 at 0xd800, <xxxx>, IRQ 5

This had me scratching my head for a few days. Can someone help me out with the issue? Btw, I don't understand why the IRQ channel is shared between the ethernet controller and the ACPI controller?

Lastly, uname -a
Quote:


Linux localhost 2.6.29.6-smp #2 SMP Mon Aug 17 00:52:54 CDT 2009 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux

Let me know if you need more info.

disturbed1 11-03-2009 10:26 AM

If this is a PCI NIC, move it to another slot. If it's onboard, you'll have to use the bios to reroute the IRQ numbers. There are options you can pass to the kernel from Lilo, but I'd try moving the NIC to another slot first.

--edit hit submit too soon--
You can try passing noacpi or pci=noapci. Check for a bios update as well.

robby_dobby 11-05-2009 10:17 AM

Quote:

Originally Posted by disturbed1 (Post 3742693)
If this is a PCI NIC, move it to another slot.

Awesome! That solved it! Many thanks! :)

Btw, can you provide some more info on what exactly went on here? It's not often that I get a call trace from syslog... ;)

disturbed1 11-05-2009 11:30 AM

The short of it -
IRQ sharing causes more than one device to be allocated the same resources. It is hit or miss if it works. Sometimes devices are happy sharing, other times they're like spoiled little kids. The motherboards BIOS maps resources out according to PCI slots. Usually AGP/PCIe is shared with PCI slot 1, slot2 and slot3 are shared, slot4 and slot5 are shared. Honestly, there is no rule of thumb, and varies manufacturer to manufacturer as far as the IRQ routing goes, the above seems to be pretty common though.

Keep an eye on this, especially if the same NIC has always been in the same PCI slot. If this crops up again, it's possibly another problem altogether. Though this too can vary, most likely it boils down to failing NIC, or bad driver. Next time your at the computer store, or make a purchase online, pick a spare NIC. It's always nice to have one handy.

robby_dobby 11-07-2009 12:14 PM

Thanks again. :) Now that the main issue is resolved, marking this thread as [SOLVED].


All times are GMT -5. The time now is 10:47 AM.