Re: IGB driver not getting Rx interrupt
Shashi Sharma <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Organization | Viosoft Inc. |
| Message-ID | <1336075213.8753.210.camel@shashi-desktop> |
Hi Adam, Thank you for replying. I checked and it is requesting for Legacy interrupts and not the MSI type interrupts. -Shashi On Thu, 2012-05-03 at 14:22 +0200, Adam Lackorzynski wrote: > Hi, > > On Tue May 01, 2012 at 16:02:53 -0700, Shashi Sharma wrote: > > Here is the log message that shows that Ankh is able to initialize the > > ethernet device (eth1) and assign an IRQ to it. > > > > ---------------------------------------------------------------------------- > > ankh | opening eth1 > > ankh | <6>device eth1 entered promiscuous mode > > ankh | set interface to promiscuous mode. > > ankh | Thread 0xcf for IRQ 40 > > io | (noname)[0x50200]: bind_irq(40, ...) > > io | IRQ 40 -> client > > io | IRQ mode = 300000 -> 6 > > io | bound irq 40 -> err=0 > > ankh | Opened 3 network devices. > > ankh | lo IRQ: 0x00 MAC: 00:00:00:00:00:00 MTU: 16436 > > ankh | eth0 IRQ: 0x00 MAC: 00:E0:81:C4:76:07 MTU: 1500 > > ankh | eth1 IRQ: 0x00 MAC: 00:E0:81:C4:76:06 MTU: 1500 > > -------------------------------------------------------------------------------------------------- > > > > As per your suggestion I looked it up in the "Shift-Q" list and I see > > the IRQ is properly connected to the proper Thread. > > > > -------------------------------------------------------------------------------------------------- > > d1 ffd073d4 [IRQ ] I= 28 HW IRQ (DIRQ) L=28 T=cf F=7 Q=0 > > -------------------------------------------------------------------------------------------------- > > > > Using the "List IRQ Threads: R" in JDB I get the following result > > > > ---------------------------------------------------------------------------- > > jdb: R [l]ist/[a]ttach: l > > IRQ 04/04 > > IRQ 28/40 > > IRQ 29/41 > > ----------------------------------------------------------------------------- > > > > Which shows that the IRQ is attached to the thread. > > > > But still, The IGB's Interrupt Service Routine (ISR) never gets > > invoked. > > That looks quite ok to me. What you can check is whether the driver > thinks it should use MSI type interrupts, and if yes, force it to legacy > mode and see if it changes its behavior. > > > Adam