summaryrefslogtreecommitdiffstats
path: root/src/drivers/linux/tap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/linux/tap.c')
-rw-r--r--src/drivers/linux/tap.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/drivers/linux/tap.c b/src/drivers/linux/tap.c
index 99937d74d..979436654 100644
--- a/src/drivers/linux/tap.c
+++ b/src/drivers/linux/tap.c
@@ -200,11 +200,6 @@ static int tap_probe(struct linux_device *device, struct linux_device_request *r
netdev->dev = &device->dev;
memset(nic, 0, sizeof(*nic));
- if ((rc = register_netdev(netdev)) != 0)
- goto err_register;
-
- netdev_link_up(netdev);
-
/* Look for the mandatory if setting */
if_setting = linux_find_setting("if", &request->settings);
@@ -224,6 +219,12 @@ static int tap_probe(struct linux_device *device, struct linux_device_request *r
/* Apply rest of the settings */
linux_apply_settings(&request->settings, &netdev->settings.settings);
+ /* Register network device */
+ if ((rc = register_netdev(netdev)) != 0)
+ goto err_register;
+
+ netdev_link_up(netdev);
+
return 0;
err_settings: