ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Mon, 30 Jan 2023 12:06:43 +0000 (14:06 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 30 Jan 2023 18:36:22 +0000 (18:36 +0000)
CSC interrupts which might be used in controls are on bits 8 and 9 of
SPDIFRX_IDR register. Thus disable all the interrupts that are exported
by driver.

Fixes: ef265c55c1ac ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-5-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/atmel/mchp-spdifrx.c

index 31ffaaf46dec0edb6b954a8af8c9d86f5bd8a738..b81fc77728dfce34e6c0614dc9e14b4888a7f86c 100644 (file)
@@ -921,7 +921,7 @@ static int mchp_spdifrx_dai_remove(struct snd_soc_dai *dai)
        struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai);
 
        /* Disable interrupts */
-       regmap_write(dev->regmap, SPDIFRX_IDR, 0xFF);
+       regmap_write(dev->regmap, SPDIFRX_IDR, GENMASK(14, 0));
 
        clk_disable_unprepare(dev->pclk);