author | Buddy Liong <a0270631@ti.com> | |
Fri, 24 Jun 2016 18:53:32 +0000 (13:53 -0500) | ||
committer | Buddy Liong <a0270631@ti.com> | |
Mon, 2 Oct 2017 15:25:14 +0000 (10:25 -0500) | ||
commit | b03d93d8f1a18bd7ec52aed9d5a7915419453bd4 | |
tree | c4bf1f1f1f953743b7603b91625f027a6fc3beb2 | tree | snapshot (tar.xz tar.gz zip) |
parent | 38ab4831c4973251466e4e188904bfb4e553cafb | commit | diff |
Synchronizing client requests from IPC3.x using semaphore
When client is processing multiple requests for different
process task, IPC3.x doesn't provide the protection to synchronize
the request. This can potentially result in corruption in FC
as multiple requests can come at the same time.
As an example, when 2 clients are requesting codec_process and codec_delete
at the same time, at a very small window FC might think that there are still 2 clients but
somehow one of the alg gets deleted.
Adding the semaphore on the multiple requests (engine_open,
engine_close, codec_create, codec_control, codec_get_version, codec_process,
codec_delete, and dce_SrvDelNotification) to protect the client requests
to be synchronous.
There is no need to add semaphore for get_rporc_info() because the
function is only getting the statistical information from BIOS
utils component.
Change-Id: I80d2899cd6e3c5ac2392bf1fd79e7bcded07c52c
Signed-off-by: Buddy Liong <a0270631@ti.com>
When client is processing multiple requests for different
process task, IPC3.x doesn't provide the protection to synchronize
the request. This can potentially result in corruption in FC
as multiple requests can come at the same time.
As an example, when 2 clients are requesting codec_process and codec_delete
at the same time, at a very small window FC might think that there are still 2 clients but
somehow one of the alg gets deleted.
Adding the semaphore on the multiple requests (engine_open,
engine_close, codec_create, codec_control, codec_get_version, codec_process,
codec_delete, and dce_SrvDelNotification) to protect the client requests
to be synchronous.
There is no need to add semaphore for get_rporc_info() because the
function is only getting the statistical information from BIOS
utils component.
Change-Id: I80d2899cd6e3c5ac2392bf1fd79e7bcded07c52c
Signed-off-by: Buddy Liong <a0270631@ti.com>
src/ti/framework/dce/dce.c | diff | blob | history |