summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/3c90x.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/3c90x.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/3c90x.c')
-rw-r--r--src/drivers/net/3c90x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/net/3c90x.c b/src/drivers/net/3c90x.c
index 760d3552..4db8fbda 100644
--- a/src/drivers/net/3c90x.c
+++ b/src/drivers/net/3c90x.c
@@ -938,15 +938,15 @@ static int a3c90x_probe(struct pci_device *pci,
HWAddr[4] = inf_3c90x->eeprom[eepromHwAddrOffset + 2] >> 8;
HWAddr[5] = inf_3c90x->eeprom[eepromHwAddrOffset + 2] & 0xFF;
- /* we don't handle linkstates yet, so we're always up */
- netdev_link_up(netdev);
-
if ((rc = register_netdev(netdev)) != 0) {
DBG("3c90x: register_netdev() failed\n");
netdev_put(netdev);
return rc;
}
+ /* we don't handle linkstates yet, so we're always up */
+ netdev_link_up(netdev);
+
return 0;
}