Skip to content

Commit

Permalink
[PATCH] sis190: complete the mii probe before registering the netdevice
Browse files Browse the repository at this point in the history
The userspace must not be able to issue ethtool command and manage the
mii before it is completely initialized. Avoid some pesky "eth%d" messages.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Francois Romieu authored and Jeff Garzik committed Aug 26, 2005
1 parent e9985d5 commit 3690b6c
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions drivers/net/sis190.c
Original file line number Diff line number Diff line change
Expand Up @@ -1271,7 +1271,7 @@ static u16 sis190_default_phy(struct net_device *dev)
mii_if->phy_id = phy_default->phy_id;
net_probe(tp, KERN_INFO
"%s: Using transceiver at address %d as default.\n",
dev->name, mii_if->phy_id);
pci_name(tp->pci_dev), mii_if->phy_id);
}

status = mdio_read(ioaddr, mii_if->phy_id, MII_BMCR);
Expand Down Expand Up @@ -1312,8 +1312,8 @@ static void sis190_init_phy(struct net_device *dev, struct sis190_private *tp,
phy->type = UNKNOWN;

net_probe(tp, KERN_INFO "%s: %s transceiver at address %d.\n",
dev->name, (phy->type == UNKNOWN) ? "Unknown PHY" : p->name,
phy_id);
pci_name(tp->pci_dev),
(phy->type == UNKNOWN) ? "Unknown PHY" : p->name, phy_id);
}

/**
Expand Down Expand Up @@ -1358,7 +1358,7 @@ static int __devinit sis190_mii_probe(struct net_device *dev)

if (list_empty(&tp->first_phy)) {
net_probe(tp, KERN_INFO "%s: No MII transceivers found!\n",
dev->name);
pci_name(tp->pci_dev));
rc = -EIO;
goto out;
}
Expand Down Expand Up @@ -1780,15 +1780,16 @@ static int __devinit sis190_init_one(struct pci_dev *pdev,
dev->base_addr = (unsigned long) 0xdead;

spin_lock_init(&tp->lock);
rc = register_netdev(dev);

rc = sis190_mii_probe(dev);
if (rc < 0)
goto err_release_board;

pci_set_drvdata(pdev, dev);

rc = sis190_mii_probe(dev);
rc = register_netdev(dev);
if (rc < 0)
goto err_unregister_dev;
goto err_remove_mii;

pci_set_drvdata(pdev, dev);

net_probe(tp, KERN_INFO "%s: %s at %p (IRQ: %d), "
"%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n",
Expand All @@ -1804,8 +1805,8 @@ static int __devinit sis190_init_one(struct pci_dev *pdev,
out:
return rc;

err_unregister_dev:
unregister_netdev(dev);
err_remove_mii:
sis190_mii_remove(dev);
err_release_board:
sis190_release_board(pdev);
goto out;
Expand Down

0 comments on commit 3690b6c

Please sign in to comment.