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 <jukka.rissanen@nordicsemi.no>
This commit is contained in:
Jukka Rissanen 2024-12-09 13:29:22 +02:00 committed by Benjamin Cabé
commit c110331507

View file

@ -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