On Fri, Mar 10, 2017 at 1:13 PM, Felix Fietkau <n...@nbd.name> wrote: > On 2017-03-10 12:11, Alexandru Ardelean wrote: >> The context is that we generate some of the UCI config >> for netifd via scripts/programs. >> >> Every once in a while, there's a goof when doing that >> UCI generation, and netifd prints out the error at >> stderr, but returns 0 (success) err-code. >> >> This change will fail the ubus call if UCI config >> is invalid for /etc/config/network & /etc/config/wireless, >> or could not be loaded (via uci_load()). >> >> Admittedly, failing the entire ubus call could >> be a bit much [depending on various views]. >> Probably one idea, would be to return the err-code >> as a ubus reply data (via ubus_send_reply()). >> Not sure. >> >> Signed-off-by: Alexandru Ardelean <ardeleana...@gmail.com> >> --- >> config.c | 10 ++++++++-- >> config.h | 2 +- >> main.c | 4 ++-- >> netifd.h | 2 +- >> ubus.c | 5 +++-- >> 5 files changed, 15 insertions(+), 8 deletions(-) >> >> diff --git a/config.c b/config.c >> index 0d965d3..d70747c 100644 >> --- a/config.c >> +++ b/config.c >> @@ -393,16 +393,20 @@ config_init_wireless(void) >> vlist_flush(&wdev->interfaces); >> } >> >> -void >> +int >> config_init_all(void) >> { >> uci_network = config_init_package("network"); >> if (!uci_network) { >> fprintf(stderr, "Failed to load network config\n"); >> - return; >> + return -1; >> } >> >> uci_wireless = config_init_package("wireless"); >> + if (!uci_wireless) { >> + fprintf(stderr, "Failed to load wireless config\n"); >> + return -1; >> + } >> >> vlist_update(&interfaces); >> config_init = true; >> @@ -426,4 +430,6 @@ config_init_all(void) >> interface_refresh_assignments(false); >> interface_start_pending(); >> wireless_start_pending(); >> + >> + return 0; >> } > Failing the network config setup just because there is no wireless > config (or an invalid one) is a bad idea. > Please use a 'ret' variable to indicate the error without affecting > runtime behavior. > > - Felix
ack my bad _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev