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