From: Kevin Hao <[email protected]>

In commit 703ebcf64aac ("ASoC: soc-pcm: Fix and cleanup DPCM locking"),
the dpcm_lock was dropped. So we need to use the FE stream lock here.

Signed-off-by: Kevin Hao <[email protected]>
---
Hi Bruce,

Could you help me merge this into the following two branches?
  v5.15/standard/nxp-sdk-5.15/nxp-soc
  v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc

 sound/soc/fsl/fsl_esai_mix.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/fsl/fsl_esai_mix.c b/sound/soc/fsl/fsl_esai_mix.c
index e5c2c053f9d3..b7aec051e05f 100644
--- a/sound/soc/fsl/fsl_esai_mix.c
+++ b/sound/soc/fsl/fsl_esai_mix.c
@@ -148,7 +148,7 @@ static void fsl_esai_mix_buffer_from_fe_tx(struct 
snd_pcm_substream *substream,
        }
 
        /* Get the active client */
-       spin_lock_irqsave(&rtd->card->dpcm_lock, flags);
+       snd_pcm_stream_lock_irq(snd_soc_dpcm_get_substream(rtd, 
substream->stream));
        for_each_dpcm_fe(rtd, substream->stream, dpcm) {
                if (dpcm->be != rtd)
                        continue;
@@ -160,7 +160,7 @@ static void fsl_esai_mix_buffer_from_fe_tx(struct 
snd_pcm_substream *substream,
                if (i >= MAX_CLIENT_NUM)
                        break;
        }
-       spin_unlock_irqrestore(&rtd->card->dpcm_lock, flags);
+       snd_pcm_stream_unlock_irq(snd_soc_dpcm_get_substream(rtd, 
substream->stream));
 
        avail = fsl_esai_tx_avail(mix);
        if (avail >= mix->buffer_bytes && elapse)
@@ -249,7 +249,7 @@ static void fsl_esai_split_buffer_from_be_rx(struct 
snd_pcm_substream *substream
                mix->client[j] = NULL;
        }
        /* Get the active client */
-       spin_lock_irqsave(&rtd->card->dpcm_lock, flags);
+       snd_pcm_stream_lock_irq(snd_soc_dpcm_get_substream(rtd, 
substream->stream));
        for_each_dpcm_fe(rtd, substream->stream, dpcm) {
                if (dpcm->be != rtd)
                        continue;
@@ -261,7 +261,7 @@ static void fsl_esai_split_buffer_from_be_rx(struct 
snd_pcm_substream *substream
                if (i >= MAX_CLIENT_NUM)
                        break;
        }
-       spin_unlock_irqrestore(&rtd->card->dpcm_lock, flags);
+       snd_pcm_stream_unlock_irq(snd_soc_dpcm_get_substream(rtd, 
substream->stream));
 
        avail = fsl_esai_rx_avail(mix);
        if (avail >= mix->buffer_bytes && elapse)
-- 
2.39.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12632): 
https://lists.yoctoproject.org/g/linux-yocto/message/12632
Mute This Topic: https://lists.yoctoproject.org/mt/99022855/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to