New: irq 18: nobody cared after down-ing an e1000 interface
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]/
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).
Quoted 39 lines · On Sun, 15 Mar 2009 06:40:54 -0700 (PDT) [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=12876
Summary: irq 18: nobody cared after down-ing an e1000 interface Product: Drivers Version: 2.5 KernelVersion: 2.6.29-0.237.rc7.git4.fc11.i586 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: [email protected] ReportedBy: [email protected]Distribution: Fedora
Hardware Environment:
http://smolts.org/show?uuid=pub_63f33868-db84-4452-bb6d-eeb440ee5449Problem Description:
I get the following OOPS when I down the e1000 network interface:
irq 18: nobody cared (try booting with the "irqpoll" option)
Pid: 9014, comm: udevd Tainted: G W 2.6.29-0.237.rc7.git4.fc11.i586 #1Call Trace: [<c0471f2b>] __report_bad_irq+0x33/0x74 [<c047205e>] note_interrupt+0xf2/0x150 [<c04711e0>] ? handle_IRQ_event+0x4f/0x58 [<c04725e8>] handle_fasteoi_irq+0x94/0xb7 [<c0472554>] ? handle_fasteoi_irq+0x0/0xb7 <IRQ> [<c04045ac>] ? common_interrupt+0x2c/0x40handlers:
[<c05f3cb6>] (ata_sff_interrupt+0x0/0xb1)
[<c06079ec>] (usb_hcd_irq+0x0/0xa3)
Disabling IRQ #18
Quoted 8 lines
As you can see, the IRQ 18 is shared with
ata_sffandusb_hcd.I've tried to comment out
e1000_free_irq()call frome1000_close()and added aprintk()toe1000_intr(). After that, the problem didn't occur, but I've not seen the output of the printk ine1000_intr()(It was visible while the interface was up), as if it weren't called. Seems like the way shared interrupts work is beyond my understanding.
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
Quoted 17 lines · Andrew Morton
Quoted 17 lines
http://bugzilla.kernel.org/show_bug.cgi?id=12876
I get the following OOPS when I down the e1000 network interface:irq 18: nobody cared (try booting with the "irqpoll" option)
Pid: 9014, comm: udevd Tainted: G W 2.6.29-0.237.rc7.git4.fc11.i586 #1Call Trace: [<c0471f2b>] __report_bad_irq+0x33/0x74 [<c047205e>] note_interrupt+0xf2/0x150 [<c04711e0>] ? handle_IRQ_event+0x4f/0x58 [<c04725e8>] handle_fasteoi_irq+0x94/0xb7 [<c0472554>] ? handle_fasteoi_irq+0x0/0xb7 <IRQ> [<c04045ac>] ? common_interrupt+0x2c/0x40handlers:
[<c05f3cb6>] (ata_sff_interrupt+0x0/0xb1)
[<c06079ec>] (usb_hcd_irq+0x0/0xa3)
Disabling IRQ #18
Quoted 7 lines
Quoted 7 lines
As you can see, the IRQ 18 is shared with
ata_sffandusb_hcd.I've tried to comment out
e1000_free_irq()call frome1000_close()and added aprintk()toe1000_intr(). After that, the problem didn't occur, but I've not seen the output of the printk ine1000_intr()(It was visible while the interface was up), as if it weren't called. Seems like the way shared interrupts work is beyond my understanding.
Please try the patch attached to the bug, Alan Cox pointed out that it was likely the driver was racy during close and was re-enabling interrupts.
I spotted two possible areas where this was possible and put in checks for __E1000_DOWN before re-enabling ints in those spots.
I'm offline for a week and I'll reconnect and check back when I return.