[3/3] ASoC: stm32: spdifrx: fix input pin state management
diff mbox series

Message ID 20191204154333.7152-4-olivier.moysan@st.com
State Accepted
Commit 3b7658679d88b5628939f9bdc8e613f79cd821f9
Headers show
  • ASoC: stm32: spdifrx: fix race conditions
Related show

Commit Message

Olivier Moysan Dec. 4, 2019, 3:43 p.m. UTC
Changing input state in iec capture control is not safe,
as the pin state may be changed concurrently by ASoC
Remove pin state handling in iec capture control.

Note: This introduces a restriction on capture control,
when pin sleep state is defined in device tree. In this case
channel status can be captured only when an audio stream
capture is active.

Fixes: f68c2a682d44 ("ASoC: stm32: spdifrx: add power management")

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
 sound/soc/stm/stm32_spdifrx.c | 4 ----
 1 file changed, 4 deletions(-)

diff mbox series

diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c
index 3cb8e6db3eeb..3769d9ce5dbe 100644
--- a/sound/soc/stm/stm32_spdifrx.c
+++ b/sound/soc/stm/stm32_spdifrx.c
@@ -12,7 +12,6 @@ 
 #include <linux/delay.h>
 #include <linux/module.h>
 #include <linux/of_platform.h>
-#include <linux/pinctrl/consumer.h>
 #include <linux/regmap.h>
 #include <linux/reset.h>
@@ -484,8 +483,6 @@  static int stm32_spdifrx_get_ctrl_data(struct stm32_spdifrx_data *spdifrx)
 	memset(spdifrx->cs, 0, SPDIFRX_CS_BYTES_NB);
 	memset(spdifrx->ub, 0, SPDIFRX_UB_BYTES_NB);
-	pinctrl_pm_select_default_state(&spdifrx->pdev->dev);
 	ret = stm32_spdifrx_dma_ctrl_start(spdifrx);
 	if (ret < 0)
 		return ret;
@@ -517,7 +514,6 @@  static int stm32_spdifrx_get_ctrl_data(struct stm32_spdifrx_data *spdifrx)
-	pinctrl_pm_select_sleep_state(&spdifrx->pdev->dev);
 	return ret;