diff --git a/src/core/agent.c b/src/core/agent.c index e6c77d820fde6d06c87a01b2e2a2f98b915a817b..d6201c67b92160601cdaa79c7fc75e376b97b18b 100644 --- a/src/core/agent.c +++ b/src/core/agent.c @@ -3510,7 +3510,7 @@ static void agent_dispatch_autoconfig(struct uloop_timeout *t) struct agent *a = container_of(t, struct agent, autocfg_dispatcher); int diff; struct netif_bk *bk; - int i; + int i, timeout = 120; trace("|%s:%d| Triggering AP-Autoconfig Search\n", __func__, __LINE__); @@ -3536,6 +3536,10 @@ static void agent_dispatch_autoconfig(struct uloop_timeout *t) struct cmdu_cstruct *cmdu; struct wifi_radio_element *radio = &a->radios[i]; int mid; + + if (radio->state == ACS_ACTIVE) + timeout = 20; + #if 0 if (/* radio->onboarded || */radio->configured) { dbg("radio %s has been configured, don't trigger search\n", @@ -3556,7 +3560,7 @@ static void agent_dispatch_autoconfig(struct uloop_timeout *t) map_free_cmdu(cmdu); } - uloop_timeout_set(&a->autocfg_dispatcher, 15 * 1000); + uloop_timeout_set(&a->autocfg_dispatcher, timeout * 1000); } static struct msg *agent_msg_enqueue(struct agent *a, int id,