Herbert Xu wrote:
On Wed, May 30, 2007 at 03:57:13PM -0700, Kok, Auke wrote:
Hmm, we're making a mess of it.
Indeed :)
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
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html