Browse Source

net: coap_client: Fix CoAP client thread priority

The default thread priority for the CoAP client thread is set to
NUM_PREEMPT_PRIORITIES which is not a valid thread priority, as the
lowest application thread priority is actually
NUM_PREEMPT_PRIORITIES - 1. Because of this, CoAP client library gave an
assert on boot if assertions were enabled.

Kconfig does not allow for arithmetics when setting integer defaults,
therefore handle this at the preprocessor stage by limiting the actual
priority assigned to the CoAP client thread to a valid range.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
pull/88895/head
Robert Lubos 3 months ago committed by Benjamin Cabé
parent
commit
f6a55c9612
  1. 6
      subsys/net/lib/coap/coap_client.c

6
subsys/net/lib/coap/coap_client.c

@ -1121,6 +1121,10 @@ struct coap_client_option coap_client_option_initial_block2(void) @@ -1121,6 +1121,10 @@ struct coap_client_option coap_client_option_initial_block2(void)
return block2;
}
#define COAP_CLIENT_THREAD_PRIORITY CLAMP(CONFIG_COAP_CLIENT_THREAD_PRIORITY, \
K_HIGHEST_APPLICATION_THREAD_PRIO, \
K_LOWEST_APPLICATION_THREAD_PRIO)
K_THREAD_DEFINE(coap_client_recv_thread, CONFIG_COAP_CLIENT_STACK_SIZE,
coap_client_recv, NULL, NULL, NULL,
CONFIG_COAP_CLIENT_THREAD_PRIORITY, 0, 0);
COAP_CLIENT_THREAD_PRIORITY, 0, 0);

Loading…
Cancel
Save