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

Re: REGRESSION: panic on e1000 driver

From: Kok, Auke <hidden>
Date: 2007-05-31 04:51:14

Herbert Xu wrote:
On Wed, May 30, 2007 at 03:57:13PM -0700, Kok, Auke wrote:
quoted
Hmm, we're making a mess of it.
Indeed :)
quoted
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?
I wish if it were as simple as that.  As soon as register_netdev
returns somebody else can invoke e1000_open so disabling poll
here can be undesirable.  In fact the existing netif_stop_queue
and netif_carrier_off calls are also bad for the same reason.
this has been an age-old confusion that I never grasped either, so I perfectly 
understand why you added the explicit e1000_disable_irq call in the other patch 
(and think thats a great idea). But really, there should be a way for a driver 
to tell the stack that it should really keep it's hands off :)

BTW e1000 currently triggers a single irq manually in the watchdog as link goes 
up, so that might be the one that is giving problems now. In any case I can't 
reproduce any of it - perhaps my hardware is too fast. Time to whip out the pIII :o

Auke

-------------------------------------------------------------------------
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