device: do not treat devices with non-digit characters after . as vlan devices
[project/netifd.git] / device.c
index d8617fcab67e5451f1ed46247c83f0b70bb5bb12..c6b0b5f8de1b4a20279c44231ffecc45d942b419 100644 (file)
--- a/device.c
+++ b/device.c
@@ -650,13 +650,13 @@ device_find(const char *name)
 }
 
 struct device *
-device_get(const char *name, int create)
+__device_get(const char *name, int create, bool check_vlan)
 {
        struct device *dev;
 
        dev = avl_find_element(&devices, name, dev, avl);
 
-       if (!dev && strchr(name, '.'))
+       if (!dev && check_vlan && strchr(name, '.'))
                return get_vlan_device_chain(name, create);
 
        if (name[0] == '@')