From ac0710b7a3c6fc3b7b90d5ddc9a57b437e8e3ac5 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 27 Jul 2020 13:27:52 +0200 Subject: [PATCH] device: look up full device name before traversing vlan chain The user may have configured a VLAN device with explicit settings and the same name by adding a config device section Signed-off-by: Felix Fietkau --- device.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/device.c b/device.c index 5e3a741..e484c09 100644 --- a/device.c +++ b/device.c @@ -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); -- 2.30.2