From e023f06cb637fec289db4a17a929dc047655ad33 Mon Sep 17 00:00:00 2001 From: Filip Matusiak <filip.matusiak@iopsys.eu> Date: Fri, 25 Oct 2024 12:05:31 +0200 Subject: [PATCH] steer: load steer module directly after steer params parsed --- src/cntlr.c | 5 ----- src/config.c | 4 ++++ src/steer_module.c | 3 +++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cntlr.c b/src/cntlr.c index 693b190c..d2d619aa 100644 --- a/src/cntlr.c +++ b/src/cntlr.c @@ -2362,11 +2362,6 @@ void run_controller(void *opts) controller_subscribe_for_cmdus(c); - /* steer-control */ - cntlr_load_steer_modules(c); - if (!list_empty(&c->sclist)) - cntlr_assign_steer_module_default(c); - /* The counters in MultiAPSteeringSummaryStats are all reset on reboot. */ memset(&c->dlem.network.steer_summary, 0, sizeof(struct wifi_steer_summary)); cntlr_dbg(LOG_MISC, "current wifi_cntlr profile %d\n", c->cfg.map_profile); diff --git a/src/config.c b/src/config.c index 1a46adee..2d5f8d65 100644 --- a/src/config.c +++ b/src/config.c @@ -1894,7 +1894,11 @@ uint8_t cntlr_config_reload(struct controller_config *cfg) if (!strcmp(s->type, "controller")) { cntlr_config_get_base(cfg, s); } else if (!strcmp(s->type, "sta_steering")) { + struct controller *c = + container_of(cfg, struct controller, cfg); + cntlr_config_get_steer_params(cfg, s); + cntlr_load_steer_modules(c); } else if (!strcmp(s->type, "ap")) { cntlr_config_get_credentials(cfg, s); } else if (!strcmp(s->type, "node")) { diff --git a/src/steer_module.c b/src/steer_module.c index a87dff87..ef8546fc 100644 --- a/src/steer_module.c +++ b/src/steer_module.c @@ -190,6 +190,9 @@ void cntlr_load_steer_modules(struct controller *c) if (!ret) list_add_tail(&sc->list, &c->sclist); } + + if (!list_empty(&c->sclist)) + cntlr_assign_steer_module_default(c); } void cntlr_unload_steer_modules(struct controller *c) -- GitLab