Fixed a deadlock issue on mem_lock of tdm pp driver.
The deadlock could happen when pp_start_property function
is called at the funciton which already taken a mem_lock
because pp_start_property takes the mem_lock internally
so this patch makes the mem_lock to be unlocked before
pp_start_property funciton is called.
Change-Id: Icde3999a978252c00d845fd0a954cf5d3298397a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
cmd_work->ctrl = PP_CTRL_PLAY;
pp_handle_cmd_work(dev, ppdrv, cmd_work, c_node);
} else {
+ mutex_unlock(&c_node->mem_lock);
mutex_lock(&ppdrv->drv_lock);
ret = pp_start_property(ppdrv, c_node);
}
mutex_unlock(&ppdrv->drv_lock);
+ mutex_lock(&c_node->mem_lock);
}
} else {
ret = pp_set_mem_node(ppdrv, c_node, m_node);