Messages in this thread | | | Date | Mon, 21 Jul 2008 23:26:24 +0200 | From | Stefan Richter <> | 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/
| |