Commit 0c9f110574bdde21ac62b948272a90f6e72b94d8
1 parent
8858d21891
Exists in
master
and in
6 other branches
ASoC: Complete initialisation before registering Samsung PCM DAI
Otherwise there's a race where the DAI might get used without everything having been set up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Sangbeom Kim <sbkim73@samsung.com>
Showing 1 changed file with 6 additions and 6 deletions Side-by-side Diff
sound/soc/samsung/pcm.c
... | ... | @@ -570,12 +570,6 @@ |
570 | 570 | } |
571 | 571 | clk_enable(pcm->pclk); |
572 | 572 | |
573 | - ret = snd_soc_register_dai(&pdev->dev, &s3c_pcm_dai[pdev->id]); | |
574 | - if (ret != 0) { | |
575 | - dev_err(&pdev->dev, "failed to get pcm_clock\n"); | |
576 | - goto err5; | |
577 | - } | |
578 | - | |
579 | 573 | s3c_pcm_stereo_in[pdev->id].dma_addr = mem_res->start |
580 | 574 | + S3C_PCM_RXFIFO; |
581 | 575 | s3c_pcm_stereo_out[pdev->id].dma_addr = mem_res->start |
... | ... | @@ -586,6 +580,12 @@ |
586 | 580 | |
587 | 581 | pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id]; |
588 | 582 | pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id]; |
583 | + | |
584 | + ret = snd_soc_register_dai(&pdev->dev, &s3c_pcm_dai[pdev->id]); | |
585 | + if (ret != 0) { | |
586 | + dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret); | |
587 | + goto err5; | |
588 | + } | |
589 | 589 | |
590 | 590 | return 0; |
591 | 591 |