linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ASoC: core: Invoke pcm_new() for all DAI-link
@ 2018-11-01 12:38 Rohit kumar
  2018-11-02  7:42 ` [alsa-devel] " Takashi Iwai
  2018-12-13 18:10 ` Applied "ASoC: core: Invoke pcm_new() for all DAI-link" to the asoc tree Mark Brown
  0 siblings, 2 replies; 8+ messages in thread
From: Rohit kumar @ 2018-11-01 12:38 UTC (permalink / raw)
  To: plai, bgoswami, lgirdwood, broonie, perex, tiwai, alsa-devel,
	linux-kernel, rohkumar, srinivas.kandagatla
  Cc: Rohit kumar

Remove no_pcm check to invoke pcm_new() for backend dai-links
too. This fixes crash in hdmi codec driver during hdmi_codec_startup()
while accessing chmap_info struct. chmap_info struct memory is
allocated in pcm_new() of hdmi codec driver which is not invoked
in case of DPCM when hdmi codec driver is part of backend dai-link.

Below is the crash stack:

[   61.635493] Unable to handle kernel NULL pointer dereference at virtual address 00000018
..
[   61.666696]   CM = 0, WnR = 1
[   61.669778] user pgtable: 4k pages, 39-bit VAs, pgd = ffffffc0d6633000
[   61.676526] [0000000000000018] *pgd=0000000153fc8003, *pud=0000000153fc8003, *pmd=0000000000000000
[   61.685793] Internal error: Oops: 96000046 [#1] PREEMPT SMP
[   61.722955] CPU: 7 PID: 2238 Comm: aplay Not tainted 4.14.72 #21
..
[   61.740269] PC is at hdmi_codec_startup+0x124/0x164
[   61.745308] LR is at hdmi_codec_startup+0xe4/0x164

Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
---
 sound/soc/soc-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 6ddcf12..abdc460 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1467,7 +1467,7 @@ static int soc_link_dai_pcm_new(struct snd_soc_dai **dais, int num_dais,
 	for (i = 0; i < num_dais; ++i) {
 		struct snd_soc_dai_driver *drv = dais[i]->driver;
 
-		if (!rtd->dai_link->no_pcm && drv->pcm_new)
+		if (drv->pcm_new)
 			ret = drv->pcm_new(rtd, dais[i]);
 		if (ret < 0) {
 			dev_err(dais[i]->dev,
-- 
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-12-13 18:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-01 12:38 [PATCH] ASoC: core: Invoke pcm_new() for all DAI-link Rohit kumar
2018-11-02  7:42 ` [alsa-devel] " Takashi Iwai
2018-11-02 12:06   ` Rohit Kumar
2018-11-05 11:13     ` Arnaud Pouliquen
2018-11-05 18:14       ` Rohit Kumar
2018-11-06 15:41         ` Arnaud Pouliquen
2018-11-07 16:14           ` Mark Brown
2018-12-13 18:10 ` Applied "ASoC: core: Invoke pcm_new() for all DAI-link" to the asoc tree Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).