mirror of https://github.com/thesofproject/sof.git
schedule: zephyr_dma_domain: domain_register(): Return early for non-registrable tasks
Because DMA IRQs are not registered for non-registrable tasks, register_dma_irq() will return 0 and not set data. This leads to zephyr_dma_domain_register() returning -EINVAL for said tasks which is not right. This commit fixes this problem by returning early in the case of non-registrable tasks. This means register_dma_irq() will not even be attempted for such tasks. Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit is contained in:
parent
2a8f6a6fc7
commit
465605f0ef
|
@ -297,6 +297,16 @@ static int zephyr_dma_domain_register(struct ll_schedule_domain *domain,
|
|||
|
||||
tr_info(&ll_tr, "zephyr_dma_domain_register()");
|
||||
|
||||
/* don't even bother trying to register DMA IRQ for
|
||||
* non-registrable tasks.
|
||||
*
|
||||
* this is needed because zephyr_dma_domain_register() will
|
||||
* return -EINVAL for non-registrable tasks because of
|
||||
* register_dma_irq() which is not right.
|
||||
*/
|
||||
if (!pipe_task->registrable)
|
||||
return 0;
|
||||
|
||||
/* the DMA IRQ has to be registered before the Zephyr thread is
|
||||
* started.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue