Thank you for your confirmation. It's a great help.

In my understanding, it's better to just return IRQ_NONE when
INT_ASSERTERD is not set even if CONFIG_E1000E_NAPI
is not defined.

--- netdev.c    Wed Jun 24 07:32:20 2009
+++ netdev.c.new        Mon Jul  6 11:27:51 2009
@@ -1527,7 +1527,6 @@
        if (!icr || test_bit(__E1000_DOWN, &adapter->state))
                return IRQ_NONE;  /* Not our interrupt */

-#ifdef CONFIG_E1000E_NAPI
        /*
         * IMS will not auto-mask if INT_ASSERTED is not set, and if it is
         * not set, then the adapter didn't send an interrupt
@@ -1535,7 +1534,6 @@
        if (!(icr & E1000_ICR_INT_ASSERTED))
                return IRQ_NONE;

-#endif /* CONFIG_E1000E_NAPI */
        /*
         * Interrupt Auto-Mask...upon reading ICR,
         * interrupts are masked.  No need for the

Thanks,
Hizume

> -----Original Message-----
> From: Brandeburg, Jesse [mailto:[email protected]] 
> Sent: Friday, July 03, 2009 12:42 AM
> To: Yosuke HIZUME
> Cc: [email protected]
> Subject: RE: [E1000-devel] e1000e: Rx Descriptor FIFO Parity Error
> 
> On Wed, 1 Jul 2009, Yosuke HIZUME wrote:
> > I understand as follows. Is it right understanding?
> 
> Yes.
> 
> > - Irq11 for eth0 is shared with uhci_hdc and dsppci2 because MSI is
> > unavailable.
> > - When the interrupt for either uhci_hdc or dsppci2 is 
> asserted, we can see
> >   e1000_intr() called with ICR.INT_ASSERTED=0b.
> > - If the other device's interrupt is asserted during e1000 
> down state,
> > e1000_intr()
> >  and clean_rx/tx_irq functions are processed in an 
> uncertain initialize
> > condition,
> >   then sometimes it could destroy some buffers and variables.
> > - It is fixed in e1000e-1.0.2.5.
> 
> your description is 100% correct.


------------------------------------------------------------------------------
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to