summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/b44.c
diff options
context:
space:
mode:
authorMichael Brown2010-09-05 03:03:31 +0200
committerMichael Brown2010-09-05 03:51:46 +0200
commit97ef28aea070f6d07b85fe16ef1b98da94a9f609 (patch)
tree80011445483aed4e257d449f796bd1cb24e3c60d /src/drivers/net/b44.c
parent[sis190] Initialise network device before calling register_netdev() (diff)
downloadipxe-97ef28aea070f6d07b85fe16ef1b98da94a9f609.tar.gz
ipxe-97ef28aea070f6d07b85fe16ef1b98da94a9f609.tar.xz
ipxe-97ef28aea070f6d07b85fe16ef1b98da94a9f609.zip
[netdevice] Call netdev_link_[up|down|err]() only while registered
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/b44.c')
-rw-r--r--src/drivers/net/b44.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/net/b44.c b/src/drivers/net/b44.c
index a104652c..d34bd8a7 100644
--- a/src/drivers/net/b44.c
+++ b/src/drivers/net/b44.c
@@ -682,9 +682,6 @@ static int b44_probe(struct pci_device *pci, const struct pci_device_id *id)
b44_load_mac_and_phy_addr(bp);
- /* Link management currently not implemented */
- netdev_link_up(netdev);
-
rc = register_netdev(netdev);
if (rc != 0) {
iounmap(bp->regs);
@@ -692,6 +689,9 @@ static int b44_probe(struct pci_device *pci, const struct pci_device_id *id)
return rc;
}
+ /* Link management currently not implemented */
+ netdev_link_up(netdev);
+
b44_chip_reset(bp, B44_CHIP_RESET_FULL);
DBG("b44 %s (%04x:%04x) regs=%p MAC=%s\n", id->name, id->vendor,