@@ -97,7 +97,7 @@ static void modem_chat_script_stop(struct modem_chat *chat, enum modem_chat_scri
97
97
98
98
/* Cancel work */
99
99
k_work_cancel_delayable (& chat -> script_timeout_work );
100
- k_work_cancel_delayable (& chat -> script_send_work );
100
+ k_work_cancel (& chat -> script_send_work );
101
101
k_work_cancel_delayable (& chat -> script_send_timeout_work );
102
102
103
103
/* Clear script running state */
@@ -117,7 +117,7 @@ static void modem_chat_script_send(struct modem_chat *chat)
117
117
chat -> script_send_delimiter_pos = 0 ;
118
118
119
119
/* Schedule script send work */
120
- k_work_schedule (& chat -> script_send_work , K_NO_WAIT );
120
+ k_work_submit (& chat -> script_send_work );
121
121
}
122
122
123
123
static void modem_chat_script_set_response_matches (struct modem_chat * chat )
@@ -308,8 +308,7 @@ static uint16_t modem_chat_script_chat_get_send_timeout(struct modem_chat *chat)
308
308
309
309
static void modem_chat_script_send_handler (struct k_work * item )
310
310
{
311
- struct k_work_delayable * dwork = k_work_delayable_from_work (item );
312
- struct modem_chat * chat = CONTAINER_OF (dwork , struct modem_chat , script_send_work );
311
+ struct modem_chat * chat = CONTAINER_OF (item , struct modem_chat , script_send_work );
313
312
uint16_t timeout ;
314
313
315
314
/* Validate script running */
@@ -319,13 +318,13 @@ static void modem_chat_script_send_handler(struct k_work *item)
319
318
320
319
/* Send request */
321
320
if (modem_chat_script_send_request (chat ) == false) {
322
- k_work_schedule (& chat -> script_send_work , chat -> process_timeout );
321
+ k_work_submit (& chat -> script_send_work );
323
322
return ;
324
323
}
325
324
326
325
/* Send delimiter */
327
326
if (modem_chat_script_send_delimiter (chat ) == false) {
328
- k_work_schedule (& chat -> script_send_work , chat -> process_timeout );
327
+ k_work_submit (& chat -> script_send_work );
329
328
return ;
330
329
}
331
330
@@ -687,8 +686,7 @@ static void modem_chat_process_bytes(struct modem_chat *chat)
687
686
688
687
static void modem_chat_process_handler (struct k_work * item )
689
688
{
690
- struct k_work_delayable * dwork = k_work_delayable_from_work (item );
691
- struct modem_chat * chat = CONTAINER_OF (dwork , struct modem_chat , process_work );
689
+ struct modem_chat * chat = CONTAINER_OF (item , struct modem_chat , receive_work );
692
690
int ret ;
693
691
694
692
/* Fill work buffer */
@@ -702,7 +700,7 @@ static void modem_chat_process_handler(struct k_work *item)
702
700
703
701
/* Process data */
704
702
modem_chat_process_bytes (chat );
705
- k_work_schedule (& chat -> process_work , K_NO_WAIT );
703
+ k_work_submit (& chat -> receive_work );
706
704
}
707
705
708
706
static void modem_chat_pipe_callback (struct modem_pipe * pipe , enum modem_pipe_event event ,
@@ -711,7 +709,7 @@ static void modem_chat_pipe_callback(struct modem_pipe *pipe, enum modem_pipe_ev
711
709
struct modem_chat * chat = (struct modem_chat * )user_data ;
712
710
713
711
if (event == MODEM_PIPE_EVENT_RECEIVE_READY ) {
714
- k_work_schedule (& chat -> process_work , chat -> process_timeout );
712
+ k_work_submit (& chat -> receive_work );
715
713
}
716
714
}
717
715
@@ -741,14 +739,13 @@ int modem_chat_init(struct modem_chat *chat, const struct modem_chat_config *con
741
739
chat -> filter_size = config -> filter_size ;
742
740
chat -> matches [MODEM_CHAT_MATCHES_INDEX_UNSOL ] = config -> unsol_matches ;
743
741
chat -> matches_size [MODEM_CHAT_MATCHES_INDEX_UNSOL ] = config -> unsol_matches_size ;
744
- chat -> process_timeout = config -> process_timeout ;
745
742
atomic_set (& chat -> script_state , 0 );
746
743
k_sem_init (& chat -> script_stopped_sem , 0 , 1 );
747
- k_work_init_delayable (& chat -> process_work , modem_chat_process_handler );
744
+ k_work_init (& chat -> receive_work , modem_chat_process_handler );
748
745
k_work_init (& chat -> script_run_work , modem_chat_script_run_handler );
749
746
k_work_init_delayable (& chat -> script_timeout_work , modem_chat_script_timeout_handler );
750
747
k_work_init (& chat -> script_abort_work , modem_chat_script_abort_handler );
751
- k_work_init_delayable (& chat -> script_send_work , modem_chat_script_send_handler );
748
+ k_work_init (& chat -> script_send_work , modem_chat_script_send_handler );
752
749
k_work_init_delayable (& chat -> script_send_timeout_work ,
753
750
modem_chat_script_send_timeout_handler );
754
751
@@ -831,8 +828,8 @@ void modem_chat_release(struct modem_chat *chat)
831
828
832
829
k_work_cancel_sync (& chat -> script_run_work , & sync );
833
830
k_work_cancel_sync (& chat -> script_abort_work , & sync );
834
- k_work_cancel_delayable_sync (& chat -> process_work , & sync );
835
- k_work_cancel_delayable_sync (& chat -> script_send_work , & sync );
831
+ k_work_cancel_sync (& chat -> receive_work , & sync );
832
+ k_work_cancel_sync (& chat -> script_send_work , & sync );
836
833
837
834
chat -> pipe = NULL ;
838
835
chat -> receive_buf_len = 0 ;
0 commit comments