Hi, Biju, On 10.11.2024 10:37, Biju Das wrote: > > >> -----Original Message----- >> From: Claudiu <claudiu.beznea@xxxxxxxxx> >> Sent: 08 November 2024 10:50 >> To: geert+renesas@xxxxxxxxx; mturquette@xxxxxxxxxxxx; sboyd@xxxxxxxxxx; robh@xxxxxxxxxx; >> krzk+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; Biju Das <biju.das.jz@xxxxxxxxxxxxxx>; Prabhakar Mahadev Lad >> <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>; lgirdwood@xxxxxxxxx; broonie@xxxxxxxxxx; >> magnus.damm@xxxxxxxxx; linus.walleij@xxxxxxxxxx; perex@xxxxxxxx; tiwai@xxxxxxxx; >> p.zabel@xxxxxxxxxxxxxx >> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx; linux-clk@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux- >> kernel@xxxxxxxxxxxxxxx; linux-sound@xxxxxxxxxxxxxxx; linux-gpio@xxxxxxxxxxxxxxx; Claudiu.Beznea >> <claudiu.beznea@xxxxxxxxx>; Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx >> Subject: [PATCH v2 06/25] ASoC: sh: rz-ssi: Terminate all the DMA transactions >> >> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> >> >> In case of full duplex the 1st closed stream doesn't benefit from the dmaengine_terminate_async(). >> Call it after the companion stream is closed. >> >> Fixes: 26ac471c5354 ("ASoC: sh: rz-ssi: Add SSI DMAC support") > > Maybe add fixes tag for full duplex case as the separation of > Playback/ Capture is introduced in that patch. OK > >> Cc: stable@xxxxxxxxxxxxxxx >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > > Reviewed-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > Cheers, > Biju > >> --- >> >> Changes in v2: >> - none >> >> sound/soc/renesas/rz-ssi.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 6efd017aaa7f..2d8721156099 >> 100644 >> --- a/sound/soc/renesas/rz-ssi.c >> +++ b/sound/soc/renesas/rz-ssi.c >> @@ -415,8 +415,12 @@ static int rz_ssi_stop(struct rz_ssi_priv *ssi, struct rz_ssi_stream *strm) >> rz_ssi_reg_mask_setl(ssi, SSICR, SSICR_TEN | SSICR_REN, 0); >> >> /* Cancel all remaining DMA transactions */ >> - if (rz_ssi_is_dma_enabled(ssi)) >> - dmaengine_terminate_async(strm->dma_ch); >> + if (rz_ssi_is_dma_enabled(ssi)) { >> + if (ssi->playback.dma_ch) >> + dmaengine_terminate_async(ssi->playback.dma_ch); >> + if (ssi->capture.dma_ch) >> + dmaengine_terminate_async(ssi->capture.dma_ch); >> + } >> >> rz_ssi_set_idle(ssi); >> >> -- >> 2.39.2 >