From 4a48b471e90f11b3685829affd8cbf27604f3b38 Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: Wed, 31 Mar 2021 17:53:50 +0200
Subject: [PATCH] cntlr: wait for ieee1905 before starting

---
 src/core/cntlr.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/core/cntlr.c b/src/core/cntlr.c
index d33852d5..4d5f3c71 100644
--- a/src/core/cntlr.c
+++ b/src/core/cntlr.c
@@ -2151,9 +2151,15 @@ int start_controller(void)
 	as_init_table(&c->as_table);
 	ubus_add_uloop(ctx);
 
-	if (ubus_lookup_id(c->ubus_ctx, "ieee1905", &ieee1905_obj)) {
-		warn("Object 'ieee1905' not present!\n");
-		return -1;
+	for (;;) {
+		int ret;
+
+		ret = ubus_lookup_id(c->ubus_ctx, "ieee1905", &ieee1905_obj);
+		if (!ret)
+			break;
+
+		trace("ieee1905 not up yet, sleeping for 2s!\n");
+		sleep(2);
 	}
 
 	ubus_call_object(c, ieee1905_obj, "info", parse_almac, c);
-- 
GitLab