From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Date: Sun, 12 Jun 2011 15:26:18 +0000 (+0200)
Subject: ALSA: hdspm - Fix jumping external wordclock frequency in AutoSync mode
X-Git-Tag: firefly_0821_release~3680^2~4182^2~155
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fedf1535ab5ee02acbbc235c2272d84bb9334758;p=firefly-linux-kernel-4.4.55.git

ALSA: hdspm - Fix jumping external wordclock frequency in AutoSync mode

When using Word Clock on RME MADI cards, AutoSync mode was alternating
betweeen MADI and WC due to a typo: AutoSync is indicated in the second
status register (status2), not the first one (status).

While the proc output was always correct, the reported WC frequency to
ALSA was unstable as mentioned in

http://mailman.alsa-project.org/pipermail/alsa-devel/2008-March/006723.html

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---

diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 32d80af012cc..d03ef94d570e 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -1143,7 +1143,7 @@ static int hdspm_external_sample_rate(struct hdspm *hdspm)
 
 		/* if wordclock has synced freq and wordclock is valid */
 		if ((status2 & HDSPM_wcLock) != 0 &&
-				(status & HDSPM_SelSyncRef0) == 0) {
+				(status2 & HDSPM_SelSyncRef0) == 0) {
 
 			rate_bits = status2 & HDSPM_wcFreqMask;