summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-01-24 01:28:39 +0100
committerFelix Fietkau <nbd@openwrt.org>2015-01-24 01:28:39 +0100
commit0358e84210b5c97b82b256a5909365555a5f7131 (patch)
treea64dc31fdf33fdc9d208cac325696d155ec93392
parentd788b74c31d95a13630b0d61f69c5bd3eab63ca4 (diff)
downloadnetifd-0358e84210b5c97b82b256a5909365555a5f7131.tar.gz
device: force changes to be applied via state change if necessary
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-rw-r--r--device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/device.c b/device.c
index 66eb261..54638e7 100644
--- a/device.c
+++ b/device.c
@@ -636,6 +636,10 @@ device_apply_config(struct device *dev, const struct device_type *type,
dev->config = config;
if (change == DEV_CONFIG_RESTART && dev->present) {
device_set_present(dev, false);
+ if (dev->active && !dev->external) {
+ dev->set_state(dev, false);
+ dev->set_state(dev, true);
+ }
device_set_present(dev, true);
}
break;