Thread (17 messages) 17 messages, 3 authors, 2007-06-01

Re: REGRESSION: panic on e1000 driver

From: Doug Chapman <hidden>
Date: 2007-05-30 23:31:31

On Wed, 2007-05-30 at 15:57 -0700, Kok, Auke wrote:
quoted hunk ↗ jump to hunk
Doug Chapman wrote:
quoted
All,

I reported this a few weeks ago and it was fixed but it appears the
offending code was again re-submitted.  This causes a panic on HP
Integrity servers and from what I hear many other platforms using e1000
as well.

My original report was via kernel.org BZ:
http://bugzilla.kernel.org/show_bug.cgi?id=8455

I am seeing the same panic with a kernel built from today's git pull.


It was fixed by this commit:
3e1657c8ef53e1cd541cc1e420f3230dc075949b


but once again broken just yesterday by the following commit.  I have
backed just this commit out and verified I no longer panic.


commit 47313054352b879a2bc65379d55b05f48a0af7ec
Author: Herbert Xu [off-list ref]
Date:   Tue May 29 15:07:31 2007 -0700

    e1000: restore netif_poll_enable call but make sure IRQs are off
Hmm, we're making a mess of it.

Herbert, wouldn't it just have been a lot easier to do just add a 
netif_poll_disable in e1000_probe, so that any and all other poll 
enable/disables are symmetric ? Something like this?

Auke


PS: apologies for the whitespace damage... it's a cut'n'paste
---

Signed-off-by: Auke Kok <redacted>
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 49be393..a8a3c5f 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1149,6 +1149,7 @@ e1000_probe(struct pci_dev *pdev,
         /* tell the stack to leave us alone until e1000_open() is called */
         netif_carrier_off(netdev);
         netif_stop_queue(netdev);
+       netif_poll_disable(netdev);

         DPRINTK(PROBE, INFO, "Intel(R) PRO/1000 Network Connection\n");
Auke,

I tested this and it does indeed fix the panic on my systems.  I will
leave the decision as to if it is the "right" thing to do to those who
are more knowledgeable with the code.

- Doug



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help