netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Graf <tgraf@suug.ch>
To: "David S. Miller" <davem@davemloft.net>
Cc: alan@lxorguk.ukuu.org.uk, netdev@oss.sgi.com
Subject: Re: Strange uses of netif_start_queue
Date: Fri, 12 Aug 2005 20:46:05 +0200	[thread overview]
Message-ID: <20050812184605.GK10481@postel.suug.ch> (raw)
In-Reply-To: <20050812.110034.63126875.davem@davemloft.net>

* David S. Miller <20050812.110034.63126875.davem@davemloft.net> 2005-08-12 11:00
> From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> Date: Fri, 12 Aug 2005 14:35:14 +0100
> 
> > Something I noticed doing the tty work. the 6pack driver calls
> > netif_start_queue() before it calls register_netdev. I'm curious if this
> > is allowed ?
> 
> It's definitely a bug, and when register_netdev() happens it will
> just overwrite that change of state.
> 
> Since the queue is not initialized yet, this could also cause
> a crash or hang. :-)

Hmm, maybe I got something wrong but:

As you say correctly, there is no way we can queue packets until
the device has been put up, a device cannot be put up while it is
not present but that doesn't happen before register_netdevice()
so the value of the queue bit doesn't matter at all. Actually the
default state is indeed to have the queue running (bit set to 0)
so the mentioned netif_start_queue() is a simple nop as Patrick
noted already. It will _not_ be overwritten by a call to
register_netdevice() though which is a good thing: It allows the
queue to be stopped from the very beginning without a race between
register_netdevice() and the call to netif_stop_queue().

      reply	other threads:[~2005-08-12 18:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-12 13:35 Strange uses of netif_start_queue Alan Cox
2005-08-12 13:27 ` Ralf Baechle
2005-08-12 13:39   ` Ralf Baechle
2005-08-12 18:03     ` David S. Miller
2005-08-12 13:33 ` Patrick McHardy
2005-08-12 18:00 ` David S. Miller
2005-08-12 18:46   ` Thomas Graf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050812184605.GK10481@postel.suug.ch \
    --to=tgraf@suug.ch \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=davem@davemloft.net \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).