aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2021-02-26 18:56:53 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-14 09:50:29 +0200
commit5fb733e250c0a2ab55e06400560f3ab998922545 (patch)
treefb8d74d9ee11881ff83c73aa8299b9621fd7e018 /sound/soc/intel
parentb3222026dde78bd3698df8f064bb6196635e9b36 (diff)
downloadkernel_replicant_linux-5fb733e250c0a2ab55e06400560f3ab998922545.tar.gz
kernel_replicant_linux-5fb733e250c0a2ab55e06400560f3ab998922545.tar.bz2
kernel_replicant_linux-5fb733e250c0a2ab55e06400560f3ab998922545.zip
ASoC: Intel: boards: sof-wm8804: add check for PLL setting
[ Upstream commit 1730ef62874dbdc53dc2abfa430f09f0b304bafc ] Currently the return from snd_soc_dai_set_pll is not checking for failure, this is the only driver in the kernel that ignores this, so it probably should be added for sake of completeness. Fix this by adding an error return check. Addresses-Coverity: ("Unchecked return value") Fixes: f139546fb7d4 ("ASoC: Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards") Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210226185653.1071321-1-colin.king@canonical.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r--sound/soc/intel/boards/sof_wm8804.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/intel/boards/sof_wm8804.c b/sound/soc/intel/boards/sof_wm8804.c
index a46ba13e8eb0..6a181e45143d 100644
--- a/sound/soc/intel/boards/sof_wm8804.c
+++ b/sound/soc/intel/boards/sof_wm8804.c
@@ -124,7 +124,11 @@ static int sof_wm8804_hw_params(struct snd_pcm_substream *substream,
}
snd_soc_dai_set_clkdiv(codec_dai, WM8804_MCLK_DIV, mclk_div);
- snd_soc_dai_set_pll(codec_dai, 0, 0, sysclk, mclk_freq);
+ ret = snd_soc_dai_set_pll(codec_dai, 0, 0, sysclk, mclk_freq);
+ if (ret < 0) {
+ dev_err(rtd->card->dev, "Failed to set WM8804 PLL\n");
+ return ret;
+ }
ret = snd_soc_dai_set_sysclk(codec_dai, WM8804_TX_CLKSRC_PLL,
sysclk, SND_SOC_CLOCK_OUT);