Subject: Re: [PATCH] e1000: Don't enable polling in open() (was: e1000: assertion hit in e1000_clean(), kernel 2.6.21.1)

From: "Kok, Auke" <[email-masked]>
Date: Mon, 21 May 2007 17:58:27 -0700

Herbert Xu wrote:
> On Mon, May 21, 2007 at 06:16:35PM -0400, Dave Jones wrote:
>> On Mon, May 21, 2007 at 02:51:35PM -0700, Auke Kok wrote:
>>  > Herbert Xu wrote:
>>  > "netif_poll_enable can only be called if you've previously called
>>  > netif_poll_disable.  Otherwise a poll might already be in action
>>  > and you may get a crash like this."
>>  > 
>>  > Removing the call to netif_poll_enable in e1000_open should fix this issue,
>>  > the only other call to netif_poll_enable is in e1000_up() which is only
>>  > reached after a device reset or resume.
>>  > 
>>  > Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8455
>>  > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240339
>>
>> This probably doesn't solve the latter bug.
>> The code you reference isn't there in the kernel tested in that bug
>> (2.6.21)   In 2.6.21, netif_poll_enable is only called from
>> e1000_up(), not e1000_open()
> 
> Yes we need a different fix for 2.6.21.  There e1000_open calls
> e1000_up which is why we still get the netif_poll_enable.

yes, basically they need the patch that introduced(exposed) the problem as well, 
but that is a rather significant change and kind of moves the whole 
netstack-init code in e1000 around. The size was the reason why that patch 
didn't go into 2.6.21 in the first place, but perhaps they can pull both patches 
into the FC tree.

For reference, this is the commit:

commit e0aac5a289b1dacbc94bd9ae8c449bcdf9ab508c
Author: Auke Kok <[email-masked]>
Date:   Tue Mar 6 08:57:21 2007 -0800

     e1000: FIX: be ready for incoming irq at pci_request_irq

     DEBUG_SHIRQ code exposed that e1000 was not ready for incoming interrupts
     after having called pci_request_irq. This obviously requires us to finish
     our software setup which assigns the irq handler before we request the
     irq.

     Signed-off-by: Auke Kok <[email-masked]>
     Signed-off-by: Jeff Garzik <[email-masked]>

Dave, would that be an option for you?

Auke