[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070820222945.GJ4261@austin.ibm.com>
Date: Mon, 20 Aug 2007 17:29:45 -0500
From: linas@...tin.ibm.com (Linas Vepstas)
To: Arnd Bergmann <arnd@...db.de>
Cc: cbe-oss-dev@...abs.org, netdev@...r.kernel.org,
Christian Krafft <krafft@...ibm.com>
Subject: Re: [PATCH] spidernet: enable poll() before registering interrupts
On Thu, Jul 12, 2007 at 01:19:11AM +0200, Arnd Bergmann wrote:
> We must not call netif_poll_enable after enabling interrupts,
> because an interrupt might come in and set the __LINK_STATE_RX_SCHED
> bit before we get to clear that bit again. If that happens,
> the next call to the ->poll() function will oops.
>
> Signed-off-by: Arnd Bergmann <arnd.bergmann@...ibm.com>
> ---
> This was found during testing with the fedora kernel,
> with all patches from netdev-2.6.git applied.
>
> It may not be the right fix, but this is currently the
> only way I can get that kernel to boot.
>
> One part I don't understand at the moment is that Christian
> Krafft reported the same problem with tg3, but that driver
> has all interrupts disabled at the device while calling
> the request_irq() function, which seems to be the best
> solution for avoiding the bug in the first place.
It apears that this patch does not apply cleanly any more,
and I think that's a good thing!
An intervening patch changed the init so that the
hardware interrupts aren't enabled until after the
request_irq, and after the poll_enable(). Thus,
it seems this pach is no longer needed, right?
I'll pursue with Kou Ishizaki, who pointed out that
I'd missed your email.
--linas
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists