[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4884FF00.30101@s5r6.in-berlin.de>
Date: Mon, 21 Jul 2008 23:26:24 +0200
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: David Miller <davem@...emloft.net>
CC: torvalds@...ux-foundation.org, mingo@...e.hu,
akpm@...ux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [crash] kernel BUG at net/core/dev.c:1328!
David Miller wrote:
> You should only do a netif_stop_queue() in your device
> initialization, at the very end of ->open() processing
> when you've fully committed to returning success.
>
> You should not, in particular, be doing a netif_wake_queue()
> before you've even done a netif_start_queue().
>
> Many of these drivers are using netif_{stop,wake}_queue()
> to stop packet flow, in particular when link state changes,
> and netif_carrier_{on,off}() already does all of that for
> you.
>
> Really, anything outside of:
>
> 1) netif_start_queue() in ->open()
> 2) netif_stop_queue() in ->stop()
> 3) netif_{stop,wake}_queue() in the TX packet handling path
>
> is superfluous.
Thanks, I wasn't aware of this. I'll try to fix up eth1394 this way as
time permits.
--
Stefan Richter
-=====-==--- -=== =-=-=
http://arcgraph.de/sr/
--
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