[alsa-devel] A small bug in soc-pcm.c

pengdonglin137 pengdonglin137 at 163.com
Sat Sep 24 03:53:18 CEST 2016


Hi All,
I found a small bug in soc-pcm.c. For example, we can see kernel logs as follows:

[  518.707401]  SLIMBUS_0_TX: ASoC: trigger BE MSM8996 Media1 cmd 0    // should be SLIMBUS_0_TX other than MSM8996 Media1
[  518.707414]  MSM8996 Media1: ASoC: post trigger FE MSM8996 Media1 cmd 0

Here is the patch.

diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 60d702f..8c037ef 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1790,7 +1790,7 @@ int dpcm_be_dai_shutdown(struct snd_soc_pcm_runtime *fe, int stream)
             continue;
 
         dev_dbg(be->dev, "ASoC: close BE %s\n",
-            dpcm->fe->dai_link->name);
+            dpcm->be->dai_link->name);
 
         soc_pcm_close(be_substream);
         be_substream->runtime = NULL;
@@ -1856,7 +1856,7 @@ int dpcm_be_dai_hw_free(struct snd_soc_pcm_runtime *fe, int stream)
             continue;
 
         dev_dbg(be->dev, "ASoC: hw_free BE %s\n",
-            dpcm->fe->dai_link->name);
+            dpcm->be->dai_link->name);
 
         soc_pcm_hw_free(be_substream);
 
@@ -1934,7 +1934,7 @@ int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
             continue;
 
         dev_dbg(be->dev, "ASoC: hw_params BE %s\n",
-            dpcm->fe->dai_link->name);
+            dpcm->be->dai_link->name);
 
         ret = soc_pcm_hw_params(be_substream, &dpcm->hw_params);
         if (ret < 0) {
@@ -2014,7 +2014,7 @@ static int dpcm_do_trigger(struct snd_soc_dpcm *dpcm,
     int ret;
 
     dev_dbg(dpcm->be->dev, "ASoC: trigger BE %s cmd %d\n",
-            dpcm->fe->dai_link->name, cmd);
+            dpcm->be->dai_link->name, cmd);
 
     ret = soc_pcm_trigger(substream, cmd);
     if (ret < 0)
@@ -2229,7 +2229,7 @@ int dpcm_be_dai_prepare(struct snd_soc_pcm_runtime *fe, int stream)
             continue;
 
         dev_dbg(be->dev, "ASoC: prepare BE %s\n",
-            dpcm->fe->dai_link->name);
+            dpcm->be->dai_link->name);
 
         ret = soc_pcm_prepare(be_substream);
         if (ret < 0) {

Thanks,
Donglin Peng


More information about the Alsa-devel mailing list