From: bui duc phuc <[email protected]> Add a comment explaining why .open() must return 0 on success to ensure proper rollback handling and prevent future changes from reintroducing the issue.
Reviewed-by: Chancel Liu <[email protected]> Signed-off-by: bui duc phuc <[email protected]> --- sound/soc/fsl/imx-pcm-rpmsg.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm-rpmsg.c index 30e75fee5175..85b7c929a28a 100644 --- a/sound/soc/fsl/imx-pcm-rpmsg.c +++ b/sound/soc/fsl/imx-pcm-rpmsg.c @@ -269,6 +269,12 @@ static int imx_rpmsg_pcm_open(struct snd_soc_component *component, info->stream_timer[substream->stream].substream = substream; timer_setup(&info->stream_timer[substream->stream].timer, imx_rpmsg_timer_callback, 0); + + /* + * ASoC only marks the component as opened when .open() returns 0. + * Since snd_pcm_hw_constraint_integer() may return 1, explicitly + * return 0 to ensure .close() is not skipped on rollback. + */ return 0; } -- 2.43.0
