[PATCH 21/24] ASoC: renesas: msiof: Fix msiof_close() being skipped on rollback
Bui Duc Phuc
phucduc.bui at gmail.com
Mon Oct 12 21:18:28 PDT 2026
Hi Morimoto-san,
Thank you for your review.
>
> If so,
Although I don't have MSIOF hardware, I tested this on FSI hardware.
I added a .close() callback to fsi_soc_component and forced fsi_dai_startup()
to fail to trigger rollback in __soc_pcm_open().
When fsi_pcm_open() returned 1 from snd_pcm_hw_constraint_integer(),
the .close() callback was skipped during rollback.
When it returned 0, the callback was called as expected.
>we would like to have such comment to indicate such background,
> because it is not intuitive for people.
> Otherwise, someone (maybe me :) will return to the original code.
>
I'll add a comment to explain why the return value must be normalized to 0
in the affected drivers.
For MSIOF, I noticed that snd_dmaengine_pcm_open() already calls
snd_pcm_hw_constraint_integer() for SNDRV_PCM_HW_PARAM_PERIODS,
so the call in msiof_open() seems redundant.
Since the first call succeeds, the second call should return 0.
Would removing the redundant call be acceptable?
Best regards,
Phuc
More information about the Linux-rockchip
mailing list