projects
/
project
/
netifd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a8eb0ec
)
device: differentiate between DEV_CONFIG_APPLIED (no device up/down), and DEV_CONFIG_...
author
Felix Fietkau
<nbd@openwrt.org>
Sat, 3 Mar 2012 23:45:21 +0000
(
00:45
+0100)
committer
Felix Fietkau
<nbd@openwrt.org>
Sat, 3 Mar 2012 23:45:21 +0000
(
00:45
+0100)
device.c
patch
|
blob
|
history
device.h
patch
|
blob
|
history
diff --git
a/device.c
b/device.c
index
ab9138b
..
1d842cf
100644
(file)
--- a/
device.c
+++ b/
device.c
@@
-554,7
+554,7
@@
device_reload_config(struct device *dev, struct blob_attr *attr)
blob_data(attr), blob_len(attr));
device_init_settings(dev, tb);
blob_data(attr), blob_len(attr));
device_init_settings(dev, tb);
- return DEV_CONFIG_
APPLIED
;
+ return DEV_CONFIG_
RESTART
;
} else
return DEV_CONFIG_RECREATE;
}
} else
return DEV_CONFIG_RECREATE;
}
@@
-634,11
+634,12
@@
device_create(const char *name, const struct device_type *type,
odev->current_config = true;
change = device_set_config(odev, type, config);
switch (change) {
odev->current_config = true;
change = device_set_config(odev, type, config);
switch (change) {
+ case DEV_CONFIG_RESTART:
case DEV_CONFIG_APPLIED:
D(DEVICE, "Device '%s': config applied\n", odev->ifname);
free(odev->config);
odev->config = config;
case DEV_CONFIG_APPLIED:
D(DEVICE, "Device '%s': config applied\n", odev->ifname);
free(odev->config);
odev->config = config;
- if (odev->present) {
+ if (
change == DEV_CONFIG_RESTART &&
odev->present) {
device_set_present(odev, false);
device_set_present(odev, true);
}
device_set_present(odev, false);
device_set_present(odev, true);
}
diff --git
a/device.h
b/device.h
index
2b7fb13
..
17676b8
100644
(file)
--- a/
device.h
+++ b/
device.h
@@
-23,6
+23,7
@@
enum {
enum dev_change_type {
DEV_CONFIG_NO_CHANGE,
DEV_CONFIG_APPLIED,
enum dev_change_type {
DEV_CONFIG_NO_CHANGE,
DEV_CONFIG_APPLIED,
+ DEV_CONFIG_RESTART,
DEV_CONFIG_RECREATE,
};
DEV_CONFIG_RECREATE,
};