All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@mandrakesoft.com>
To: kuznet@ms2.inr.ac.ru
Cc: Andrew Morton <andrewm@uow.edu.au>,
	davem@redhat.COM, linux-kernel@vger.kernel.org
Subject: Re: NETDEV_CHANGE events when __LINK_STATE_NOCARRIER is modified
Date: Mon, 14 May 2001 14:12:17 -0400	[thread overview]
Message-ID: <3B002001.AEEEE415@mandrakesoft.com> (raw)
In-Reply-To: <200105141747.VAA15542@ms2.inr.ac.ru>

kuznet@ms2.inr.ac.ru wrote:
> 
> Hello!
> 
> > Jeff has introduced `alloc_etherdev()' which allocates storage
> > for a netdev but doesn't register it.  The one quirk with this
> > approach (and why it's vastly simpler than my thing)
> 
> I do not see where it is simpler. The only difference is that
> name is unknown. 8)

Note that using dev->name during probe was always incorrect.  Think
about the error case:

device 0:
	dev = init_etherdev(...); /* gets if eth0 */
	printk(... dev->name ...)
	/* prints "eth0: error foo, aborting" */
	failure!  exit and unregister_netdev
device 1:
	dev = init_etherdev(...); /* gets if eth0 */
	printk(... dev->name ...)
	/* prints "eth0: error foo, aborting" */
	failure!  exit and unregister_netdev
device 2:
	dev = init_etherdev(...); /* gets if eth0 */
	printk(... dev->name ...)
	/* prints "eth0: error foo, aborting" */
	failure!  exit and unregister_netdev

So, using interface name in this manner was always buggy because it
conveys no useful information to the user.


> What's about dev_probe_lock, I again do not understand why it is not deleted.
> Please, shed some light.

I'm all for removing it...  I do not like removing it in a so-called
"stable" series, though.  alloc_etherdev() was enough to solve the race
and flush out buggy drivers using dev->name during probe.  Notice I did
not remove init_etherdev and fix it properly -- IMHO that is 2.5
material.

	Jeff


-- 
Jeff Garzik      | Game called on account of naked chick
Building 1024    |
MandrakeSoft     |

  reply	other threads:[~2001-05-14 18:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15091.23655.488243.650394@pizda.ninka.net>
2001-05-13 18:19 ` NETDEV_CHANGE events when __LINK_STATE_NOCARRIER is modified kuznet
2001-05-14  1:43   ` Andrew Morton
2001-05-14 17:47     ` kuznet
2001-05-14 18:12       ` Jeff Garzik [this message]
2001-05-14 18:40         ` kuznet
2001-05-14 19:27           ` Jeff Garzik
2001-05-14 19:42             ` kuznet
2001-05-14 20:34               ` Jeff Garzik
2001-05-14 23:51           ` Andrew Morton
2001-05-15  9:02             ` kuznet
2001-05-15 11:00               ` Andrew Morton
2001-05-15 11:15                 ` David S. Miller

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=3B002001.AEEEE415@mandrakesoft.com \
    --to=jgarzik@mandrakesoft.com \
    --cc=andrewm@uow.edu.au \
    --cc=davem@redhat.COM \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.