Re: [PATCH v1 1/2] ASoC: rsnd: ssi: fix race condition in rsnd_ssi_pointer_update

From: Jiada Wang
Date: Fri Dec 08 2017 - 00:35:36 EST


Hello Morimoto-san

On 12/07/2017 01:45 AM, Kuninori Morimoto wrote:
Hi Jiada

Thank you for your patch

Currently there is race condition between set of byte_pos and wrap
it around when new buffer starts. If .pointer is called in-between
it will result in inconsistent pointer position be returned
from .pointer callback.

This patch increments buffer pointer atomically to avoid this issue.

Signed-off-by: Jiada Wang<jiada_wang@xxxxxxxxxx>
Reviewed-by: Takashi Sakamoto<takashi.sakamoto@xxxxxxxxxxxxxxxx>
---
You using playback with PIO mode ?
Because this function is no longer used on DMA mode
No, we are using rcar sound in DMA mode,
our original patch resolves the issue in core.c for both PIO & DMA mode.

but with your commit a97a06c ("ASoC: rsnd: cleanup pointer related code"),
DMA mode no longer has the race condition issue,
so I ported our fix patch to only address the issue in PIO mode

Thanks,
Jiada
Best regards
---
Kuninori Morimoto