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


Reply via email to