diff options
-rw-r--r-- | device.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -572,13 +572,14 @@ device_get(const char *name, int create) { struct device *dev; - if (strchr(name, '.')) + dev = avl_find_element(&devices, name, dev, avl); + + if (!dev && strchr(name, '.')) return get_vlan_device_chain(name, create); if (name[0] == '@') return device_alias_get(name + 1); - dev = avl_find_element(&devices, name, dev, avl); if (dev) { if (create > 1 && !dev->external) { system_if_apply_settings(dev, &dev->settings, dev->settings.flags); |