dump_reg() in msc_spdif.c will cause kernel BUG during Suspend/Resume,
because of calling clk_enable() in an interrupt for playback.
There's also a simular issue in capture case.
Capture'd be stopped after resume for suspending.
Signed-off-by: Nicolin Chen <b42378@freescale.com>
if (!plat_data->spdif_tx)
return -EINVAL;
+ spdif_priv->tx_active = true;
regval = __raw_readl(spdif_base_addr + SPDIF_REG_SCR);
regval &= 0xfc33e3;
regval &= ~SCR_LOW_POWER;
struct mxc_spdif_platform_data *plat_data = spdif_priv->plat_data;
unsigned long regval;
- if (!plat_data->spdif_rx || !spdif_priv->rx_active)
+ if (!plat_data->spdif_rx)
return -EINVAL;
+ spdif_priv->rx_active = true;
+
regval = __raw_readl(spdif_base_addr + SPDIF_REG_SCR);
/*
* initial and reset SPDIF configuration: