Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c5cae81 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

net: call dev_alloc_name from register_netdevice



Force dev_alloc_name() to be called from register_netdevice() by
dev_get_valid_name(). That allows to remove multiple explicit
dev_alloc_name() calls.

The possibility to call dev_alloc_name in advance remains.

This also fixes veth creation regresion caused by
84c49d8c

Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e8920674
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -393,16 +393,6 @@ static int __devinit ieee802154fake_probe(struct platform_device *pdev)
	priv = netdev_priv(dev);
	priv->phy = phy;

	/*
	 * If the name is a format string the caller wants us to do a
	 * name allocation.
	 */
	if (strchr(dev->name, '%')) {
		err = dev_alloc_name(dev, dev->name);
		if (err < 0)
			goto out;
	}

	wpan_phy_set_dev(phy, &pdev->dev);
	SET_NETDEV_DEV(dev, &phy->dev);

+3 −18
Original line number Diff line number Diff line
@@ -4917,7 +4917,8 @@ int bond_create(struct net *net, const char *name)

	rtnl_lock();

	bond_dev = alloc_netdev_mq(sizeof(struct bonding), name ? name : "",
	bond_dev = alloc_netdev_mq(sizeof(struct bonding),
				   name ? name : "bond%d",
				   bond_setup, tx_queues);
	if (!bond_dev) {
		pr_err("%s: eek! can't alloc netdev!\n", name);
@@ -4928,26 +4929,10 @@ int bond_create(struct net *net, const char *name)
	dev_net_set(bond_dev, net);
	bond_dev->rtnl_link_ops = &bond_link_ops;

	if (!name) {
		res = dev_alloc_name(bond_dev, "bond%d");
		if (res < 0)
			goto out;
	} else {
		/*
		 * If we're given a name to register
		 * we need to ensure that its not already
		 * registered
		 */
		res = -EEXIST;
		if (__dev_get_by_name(net, name) != NULL)
			goto out;
	}

	res = register_netdevice(bond_dev);

	netif_carrier_off(bond_dev);

out:
	rtnl_unlock();
	if (res < 0)
		bond_destructor(bond_dev);
+0 −4
Original line number Diff line number Diff line
@@ -168,10 +168,6 @@ static int __init dummy_init_one(void)
	if (!dev_dummy)
		return -ENOMEM;

	err = dev_alloc_name(dev_dummy, dev_dummy->name);
	if (err < 0)
		goto err;

	dev_dummy->rtnl_link_ops = &dummy_link_ops;
	err = register_netdevice(dev_dummy);
	if (err < 0)
+0 −4
Original line number Diff line number Diff line
@@ -516,10 +516,6 @@ static int bpq_new_device(struct net_device *edev)
	memcpy(bpq->dest_addr, bcast_addr, sizeof(bpq_eth_addr));
	memcpy(bpq->acpt_addr, bcast_addr, sizeof(bpq_eth_addr));

	err = dev_alloc_name(ndev, ndev->name);
	if (err < 0) 
		goto error;

	err = register_netdevice(ndev);
	if (err)
		goto error;
+0 −4
Original line number Diff line number Diff line
@@ -233,10 +233,6 @@ static int __init ifb_init_one(int index)
	if (!dev_ifb)
		return -ENOMEM;

	err = dev_alloc_name(dev_ifb, dev_ifb->name);
	if (err < 0)
		goto err;

	dev_ifb->rtnl_link_ops = &ifb_link_ops;
	err = register_netdevice(dev_ifb);
	if (err < 0)
Loading