Messages received multiple times in QNX when IPU2 + DSP1/IPU1 are active

This commit fixes a race condition in QNX where IPU2 is exchanging messages
with host while DSP1 or IPU1 is doing the same. It adds protection in
VirtQueue_addAvailBuf and VirtQueue_getUsedBuf to prevent
a VirtQueue from being accessed concurrently by multiple interrupt handlers,
which has the potential of corrupting the buffer indexing and thus
resulting in some messages to be returned multiple times.

This addresses SDOCM00114194.

Signed-off-by: VW <vwan@ti.com>
1 file changed