k_work_schedule returning 1 with nrf5340 custom board

I have a custom board using a nrf5340 and am getting a 1 when trying schedule delayble work and I can't figure out why. I isolated the code to test which gets called from main:

#include <zephyr/kernel.h>
#include <zephyr/logging/log.h>

#include "thread_manager.h"

LOG_MODULE_REGISTER(thread_manager, LOG_LEVEL_DBG);

#define THREAD_MANAGER_TIMEOUT_SECONDS    10

static void thread_manager_reschedule(struct k_work *item);
K_WORK_DELAYABLE_DEFINE(thread_manager_work, thread_manager_reschedule);



int thread_manager_init()
{
    LOG_DBG("Initializing thread manager");
    int rc;
    rc = k_work_schedule(&thread_manager_work, K_SECONDS(THREAD_MANAGER_TIMEOUT_SECONDS));
    LOG_DBG("k_work_schedule returned %d", rc);
    return rc;
}

static void thread_manager_reschedule(struct k_work *item) 
{
    LOG_DBG("Handle idle timeout at %d", k_uptime_get_32());
    int rc;
    rc = k_work_schedule(&thread_manager_work, K_SECONDS(THREAD_MANAGER_TIMEOUT_SECONDS));
    LOG_DBG("k_work_schedule returned %d", rc);
}

The log looks like this:

<dbg> thread_manager: thread_manager_init: Initializing thread manager
<dbg> thread_manager: thread_manager_init: k_work_schedule returned 1

Related