summaryrefslogtreecommitdiffhomepage
path: root/proto-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'proto-shell.c')
-rw-r--r--proto-shell.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/proto-shell.c b/proto-shell.c
index fdb87df..f5a5fb1 100644
--- a/proto-shell.c
+++ b/proto-shell.c
@@ -351,10 +351,10 @@ proto_shell_update_link(struct proto_shell_state *state, struct blob_attr **tb)
return 0;
}
- if (!tb[NOTIFY_IFNAME])
- return UBUS_STATUS_INVALID_ARGUMENT;
-
- if (!state->l3_dev.dev) {
+ if (!tb[NOTIFY_IFNAME]) {
+ if (!state->iface->main_dev.dev)
+ return UBUS_STATUS_INVALID_ARGUMENT;
+ } else if (!state->l3_dev.dev) {
device_add_user(&state->l3_dev,
device_get(blobmsg_data(tb[NOTIFY_IFNAME]), true));
device_claim(&state->l3_dev);