[PATCH v6 03/11] ASoC: renesas: fsi: Fix trigger stop ordering
From: phucduc . bui
Date: Tue Jun 09 2026 - 07:46:38 EST
From: bui duc phuc <phucduc.bui@xxxxxxxxx>
Call fsi_stream_stop() before fsi_hw_shutdown(). This matches the existing
order in the suspend path.
This change ensures all register accesses during stream shutdown are fully
completed before disabling the clocks.
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Suggested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
---
Changes in v6:
- Add Acked-by tag from Kuninori Morimoto.
Changes in v5:
- Move fsi_hw_shutdown() after fsi_stream_quit() to prepare for
subsequent patches that use fsi_stream_is_working() to handle
in-flight IRQ handlers.
Changes in v4:
- update commit messages
sound/soc/renesas/fsi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/renesas/fsi.c b/sound/soc/renesas/fsi.c
index 8cbd7acc26f4..800ac40f9680 100644
--- a/sound/soc/renesas/fsi.c
+++ b/sound/soc/renesas/fsi.c
@@ -1586,10 +1586,10 @@ static int fsi_dai_trigger(struct snd_pcm_substream *substream, int cmd,
ret = fsi_stream_transfer(io);
break;
case SNDRV_PCM_TRIGGER_STOP:
- if (!ret)
- ret = fsi_hw_shutdown(fsi, dai->dev);
fsi_stream_stop(fsi, io);
fsi_stream_quit(fsi, io);
+ if (!ret)
+ ret = fsi_hw_shutdown(fsi, dai->dev);
break;
}
--
2.43.0