Skip to contentSkip to conversation

ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt

PATCH RESEND Applied Axel Lin 2 participants 2 messages Nov 29, 2011

Subsystems (3)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH RESEND 1/1 ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt

What we want is to clear BIT[5:4](PCM_MODE_MASK) and BIT[3](PCM_BIT_ORDER) bits, but current code clears BIT[2:0].

---
This patch was sent on http://comments.gmane.org/gmane.linux.alsa.devel/91501
and Brian replied "tested and acked" for both patches.
[PATCH 1/2] ASoC: cs42l73: Unify the way to define bits of register is already merged, but [PATCH 2/2] ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt is missed.

 sound/soc/codecs/cs42l73.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
sound/soc/codecs/cs42l73.c +2 -1
index 0306e72..a2af595 100644
@@ -1024,7 +1024,8 @@ static int cs42l73_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
 	}
 
 	if (spc & SPDIF_PCM) {
-		spc &= (31 << 3);	/* Clear PCM mode, set MSB->LSB */
+		/* Clear PCM mode, clear PCM_BIT_ORDER bit for MSB->LSB */
+		spc &= ~(PCM_MODE_MASK | PCM_BIT_ORDER);
 		switch (format) {
 		case SND_SOC_DAIFMT_DSP_B:
 			if (inv == SND_SOC_DAIFMT_IB_IF)
Signature · 1 line
1.7.5.4
Applied
#1 lore raw
Quoted 2 lines · Axel Lin

What we want is to clear BIT[5:4](PCM_MODE_MASK) and BIT[3](PCM_BIT_ORDER) bits, but current code clears BIT[2:0].

Applied, thanks.