From 526328963113fd51a140ffd6d54bf44e9d9b4a9f Mon Sep 17 00:00:00 2001 From: Peter Bigot Date: Sun, 22 Nov 2020 06:31:34 -0600 Subject: [PATCH] drivers: regulator: avoid improper access to internal structures Nothing in the API description the delayed work structure sanctions direct reference to internal fields. Do not assume that a delayed work item can be submitted without delay by invoking k_work_submit() with a reference to the contained work item. Instead submit with the delayed API and no wait. Signed-off-by: Peter Bigot --- drivers/regulator/regulator_fixed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/regulator_fixed.c b/drivers/regulator/regulator_fixed.c index 5424a67df15..eee99054fde 100644 --- a/drivers/regulator/regulator_fixed.c +++ b/drivers/regulator/regulator_fixed.c @@ -190,7 +190,7 @@ static void start(struct onoff_manager *mgr, __ASSERT_NO_MSG(data->task == WORK_TASK_UNDEFINED); data->task = WORK_TASK_ENABLE; data->notify = notify; - k_work_submit(&data->delayed_work.work); + k_delayed_work_submit(&data->delayed_work, K_NO_WAIT); return; } #endif /* CONFIG_MULTITHREADING */ @@ -228,7 +228,7 @@ static void stop(struct onoff_manager *mgr, __ASSERT_NO_MSG(data->task == WORK_TASK_UNDEFINED); data->task = WORK_TASK_DISABLE; data->notify = notify; - k_work_submit(&data->delayed_work.work); + k_delayed_work_submit(&data->delayed_work, K_NO_WAIT); return; } #endif /* CONFIG_MULTITHREADING */