Re: [crash] kernel BUG at net/core/dev.c:1328!

Stefan Richter
2008-07-21T21:27:32Z

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
-=====-==--- -=== =-=-=