From c1103315076bdd1df0f641f960a842f319f73dd6 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Mon, 9 Dec 2024 13:29:22 +0200 Subject: [PATCH] net: dns: Avoid errors when DNS dispatcher is already registered Skip error prints and extra DNS events if DNS dispatcher was already registered. Signed-off-by: Jukka Rissanen --- subsys/net/lib/dns/resolve.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/subsys/net/lib/dns/resolve.c b/subsys/net/lib/dns/resolve.c index dec0a94979c..e6b77661763 100644 --- a/subsys/net/lib/dns/resolve.c +++ b/subsys/net/lib/dns/resolve.c @@ -561,6 +561,10 @@ static int dns_resolve_init_locked(struct dns_resolve_context *ctx, ret = register_dispatcher(ctx, &resolve_svc, &ctx->servers[i], local_addr, addr6, addr4); if (ret < 0) { + if (ret == -EALREADY) { + goto skip_event; + } + NET_DBG("Cannot register dispatcher for %s (%d)", ctx->servers[i].is_mdns ? "mDNS" : "DNS", ret); goto fail; @@ -575,6 +579,8 @@ static int dns_resolve_init_locked(struct dns_resolve_context *ctx, net_mgmt_event_notify(NET_EVENT_DNS_SERVER_ADD, iface); } +skip_event: + #if defined(CONFIG_NET_IPV6) local_addr6.sin6_port = 0; #endif