@@ -59,10 +59,8 @@ LOG_MODULE_REGISTER(mcumgr_os_grp, CONFIG_MCUMGR_GRP_OS_LOG_LEVEL);
59
59
60
60
#ifdef CONFIG_REBOOT
61
61
static void os_mgmt_reset_work_handler (struct k_work * work );
62
- static void os_mgmt_reset_cb (struct k_timer * timer );
63
62
64
- K_WORK_DEFINE (os_mgmt_reset_work , os_mgmt_reset_work_handler );
65
- static K_TIMER_DEFINE (os_mgmt_reset_timer , os_mgmt_reset_cb , NULL) ;
63
+ K_WORK_DELAYABLE_DEFINE (os_mgmt_reset_work , os_mgmt_reset_work_handler );
66
64
#endif
67
65
68
66
/* This is passed to zcbor_map_start/end_endcode as a number of
@@ -358,13 +356,9 @@ static int os_mgmt_taskstat_read(struct smp_streamer *ctxt)
358
356
*/
359
357
static void os_mgmt_reset_work_handler (struct k_work * work )
360
358
{
361
- sys_reboot (SYS_REBOOT_WARM );
362
- }
359
+ ARG_UNUSED (work );
363
360
364
- static void os_mgmt_reset_cb (struct k_timer * timer )
365
- {
366
- /* Reboot the system from the system workqueue thread. */
367
- k_work_submit (& os_mgmt_reset_work );
361
+ sys_reboot (SYS_REBOOT_WARM );
368
362
}
369
363
370
364
static int os_mgmt_reset (struct smp_streamer * ctxt )
@@ -404,8 +398,9 @@ static int os_mgmt_reset(struct smp_streamer *ctxt)
404
398
}
405
399
#endif
406
400
407
- k_timer_start (& os_mgmt_reset_timer , K_MSEC (CONFIG_MCUMGR_GRP_OS_RESET_MS ),
408
- K_NO_WAIT );
401
+ /* Reboot the system from the system workqueue thread. */
402
+ k_work_schedule (& os_mgmt_reset_work , K_MSEC (CONFIG_MCUMGR_GRP_OS_RESET_MS ));
403
+
409
404
return 0 ;
410
405
}
411
406
#endif
0 commit comments