summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/pcm-coldfire.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/coldfire/pcm-coldfire.c')
-rw-r--r--firmware/target/coldfire/pcm-coldfire.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index bd4778d79c..35b3ecae9c 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -479,11 +479,12 @@ void DMA1(void)
}
#ifdef HAVE_SPDIF_REC
else if (DATAINCONTROL == 0xc038 &&
- (INTERRUPTSTAT & ((1 << 24) | (1 << 23) | (1 << 22))))
+ (INTERRUPTSTAT & ((1 << 23) | (1 << 22))))
{
- /* reason: valnogood, symbolerr, parityerr */
- /* clear: ebu1cnew, valnogood, symbolerr, parityerr */
- INTERRUPTCLEAR = (1 << 25) | (1 << 24) | (1 << 23) | (1 << 22);
+ /* reason: symbolerr, parityerr.
+ * Ignore valnogood since several sources don't set it properly. */
+ /* clear: ebu1cnew, symbolerr, parityerr */
+ INTERRUPTCLEAR = (1 << 25) | (1 << 23) | (1 << 22);
status = DMA_REC_ERROR_SPDIF;
logf("spdif err");
}