Skip to content

Commit 3ddcc98

Browse files
committed
fix
1 parent 38c80ab commit 3ddcc98

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

src/audio/module_adapter/module/generic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,7 @@ int module_reset(struct processing_module *mod)
638638

639639
/* cancel task if DP task*/
640640
if (mod->dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP && mod->dev->task &&
641-
!IS_ENABLED(CONFIG_SOF_USERSPACE_APPLICATION))
641+
!IS_ENABLED(CONFIG_SOF_USERSPACE_MOD_IPC_BY_DP_THREAD))
642642
schedule_task_cancel(mod->dev->task);
643643

644644
if (ops->reset) {

src/audio/module_adapter/module_adapter.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,23 +1433,24 @@ void module_adapter_free(struct comp_dev *dev)
14331433

14341434
comp_dbg(dev, "start");
14351435

1436-
if (dev->task) {
1436+
#if CONFIG_SOF_USERSPACE_APPLICATION
1437+
if (dev->task)
14371438
/*
14381439
* Run DP module's .free() method in its thread context.
14391440
* Unlike with other IPCs we first run module's .free() in
14401441
* thread context, then cancel the thread, and then execute
14411442
* final clean up
14421443
*/
1443-
#if CONFIG_SOF_USERSPACE_APPLICATION
14441444
scheduler_dp_thread_ipc(mod, SOF_IPC4_MOD_DELETE_INSTANCE, NULL);
14451445
#endif
1446-
schedule_task_free(dev->task);
1447-
}
14481446

14491447
ret = module_free(mod);
14501448
if (ret)
14511449
comp_err(dev, "failed with error: %d", ret);
14521450

1451+
if (dev->task)
1452+
schedule_task_free(dev->task);
1453+
14531454
list_for_item_safe(blist, _blist, &mod->raw_data_buffers_list) {
14541455
struct comp_buffer *buffer = container_of(blist, struct comp_buffer,
14551456
buffers_list);

0 commit comments

Comments
 (0)