Subject: Re: REGRESSION: panic on e1000 driver

From: "Kok, Auke" <[email-masked]>
Date: Thu, 31 May 2007 07:54:31 -0700

Herbert Xu wrote:
> On Wed, May 30, 2007 at 09:51:14PM -0700, Kok, Auke wrote:
>> 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 :)
> 
> Well yes, you can get the stack to keep away by not registering your
> device :)

*blunt*

so how about calling netif_poll_disable() before we register the net_device?

>> 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
> 
> Hmm, if it's triggered by the watchdog then that means the watchdog has
> been scheduled.  However, it seems that the only way to schedule it is
> through an interrupt?

well no, if we make the watchdog (this is something I've already implemented 
locally and -mm has it for instance) run as delayed work we can just schedule a 
watchdog run instead of firing an interrupt.

I'm just not sure that would relieve the situation

Auke