diff --git a/sound/soc/codecs/tas2764.c b/sound/soc/codecs/tas2764.c index 399aa42c6414a..9905ac1eec3cb 100644 --- a/sound/soc/codecs/tas2764.c +++ b/sound/soc/codecs/tas2764.c @@ -934,6 +934,10 @@ static int tas2764_codec_probe(struct snd_soc_component *component) tas2764_reset(tas2764); regmap_reinit_cache(tas2764->regmap, &tas2764_i2c_regmap); + /* The reset cleared the idle slot setup: make the next set_tdm_idle() write it */ + tas2764->idle_slot_config.tx_mask = 0; + tas2764->idle_slot_config.tx_mode = SND_SOC_DAI_TDM_IDLE_NONE; + if (tas2764->irq) { ret = snd_soc_component_write(tas2764->component, TAS2764_INT_MASK0, 0x00); if (ret < 0)