if (blob_len(b.head) == 0)
return;
- device_set_config(dev, dev->type, b.head);
+ if (iface->device_config)
+ device_set_config(dev, dev->type, b.head);
return;
error_free_config:
free(config);
blob_buf_init(&b, 0);
uci_to_blob(&b, s, params);
if (devtype) {
- device_create(name, devtype, b.head);
+ dev = device_create(name, devtype, b.head);
+ if (!dev)
+ continue;
} else {
dev = device_get(name, 1);
if (!dev)
continue;
- device_set_config(dev, dev->type, b.head);
+ dev->current_config = true;
+ device_apply_config(dev, dev->type, b.head);
}
+ dev->default_config = false;
}
}