The variable msk not initialized and is being bit-wise or'd with values
in a for-loop, leading to an undefined result. Fix this by initializing
msk to zero before the for-loop.
Fixes: c1e42ec04197 ("ASoC: mediatek: mt8188: Add support for DMIC")
Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx>
---
sound/soc/mediatek/mt8188/mt8188-dai-dmic.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/mediatek/mt8188/mt8188-dai-dmic.c b/sound/soc/mediatek/mt8188/mt8188-dai-dmic.c
index 4cfbcb71d2d9..adcea7818be2 100644
--- a/sound/soc/mediatek/mt8188/mt8188-dai-dmic.c
+++ b/sound/soc/mediatek/mt8188/mt8188-dai-dmic.c
@@ -307,6 +307,7 @@ static int mtk_dmic_event(struct snd_soc_dapm_widget *w,
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
/* request fifo soft rst */
+ msk = 0;
for (i = dmic_num; i >= DMIC0; i--)
msk |= PWR2_TOP_CON1_DMIC_FIFO_SOFT_RST_EN(i);
--
2.47.2
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]