projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
proto-shell: allow running protocols without proto_task.
[project/netifd.git]
/
interface.c
diff --git
a/interface.c
b/interface.c
index
a10cec9
..
a9ecf28
100644
(file)
--- a/
interface.c
+++ b/
interface.c
@@
-68,15
+68,9
@@
static const struct blobmsg_policy iface_attrs[IFACE_ATTR_MAX] = {
[IFACE_ATTR_FORCE_LINK] = { .name = "force_link", .type = BLOBMSG_TYPE_BOOL },
};
[IFACE_ATTR_FORCE_LINK] = { .name = "force_link", .type = BLOBMSG_TYPE_BOOL },
};
-static const struct uci_blob_param_info iface_attr_info[IFACE_ATTR_MAX] = {
- [IFACE_ATTR_DNS] = { .type = BLOBMSG_TYPE_STRING },
- [IFACE_ATTR_IP6CLASS] = { .type = BLOBMSG_TYPE_STRING },
-};
-
const struct uci_blob_param_list interface_attr_list = {
.n_params = IFACE_ATTR_MAX,
.params = iface_attrs,
const struct uci_blob_param_list interface_attr_list = {
.n_params = IFACE_ATTR_MAX,
.params = iface_attrs,
- .info = iface_attr_info,
};
static void
};
static void
@@
-145,7
+139,7
@@
void interface_add_error(struct interface *iface, const char *subsystem,
memcpy(dest, data[i], datalen[i]);
dest += datalen[i];
}
memcpy(dest, data[i], datalen[i]);
dest += datalen[i];
}
- error->data[n_data
++
] = NULL;
+ error->data[n_data] = NULL;
if (subsystem)
error->subsystem = strcpy(d_subsys, subsystem);
if (subsystem)
error->subsystem = strcpy(d_subsys, subsystem);
@@
-525,9
+519,11
@@
interface_set_device_config(struct interface *iface, struct device *dev)
if (!dev || !dev->default_config)
return;
if (!dev || !dev->default_config)
return;
- if (!iface->device_config && !dev->iface_config)
+ if (!iface->device_config &&
+ (!dev->iface_config || dev->config_iface != iface))
return;
return;
+ dev->config_iface = iface;
dev->iface_config = iface->device_config;
device_apply_config(dev, dev->type, iface->config);
}
dev->iface_config = iface->device_config;
device_apply_config(dev, dev->type, iface->config);
}
@@
-1057,7
+1053,7
@@
interface_device_config_changed(struct interface *if_old, struct interface *if_n
struct blob_attr *ntb[__DEV_ATTR_MAX];
struct blob_attr *otb[__DEV_ATTR_MAX];
struct device *dev = if_old->main_dev.dev;
struct blob_attr *ntb[__DEV_ATTR_MAX];
struct blob_attr *otb[__DEV_ATTR_MAX];
struct device *dev = if_old->main_dev.dev;
- unsigned long diff;
+ unsigned long diff
= 0
;
BUILD_BUG_ON(sizeof(diff) < __DEV_ATTR_MAX / 8);
BUILD_BUG_ON(sizeof(diff) < __DEV_ATTR_MAX / 8);