diff options
-rw-r--r-- | sound/pci/ctxfi/ctatc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index b5fa583a239a..eb86829529eb 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c | |||
@@ -435,6 +435,11 @@ atc_pcm_playback_position(struct ct_atc *atc, struct ct_atc_pcm *apcm) | |||
435 | return 0; | 435 | return 0; |
436 | position = src->ops->get_ca(src); | 436 | position = src->ops->get_ca(src); |
437 | 437 | ||
438 | if (position < apcm->vm_block->addr) { | ||
439 | snd_printdd("ctxfi: bad ca - ca=0x%08x, vba=0x%08x, vbs=0x%08x\n", position, apcm->vm_block->addr, apcm->vm_block->size); | ||
440 | position = apcm->vm_block->addr; | ||
441 | } | ||
442 | |||
438 | size = apcm->vm_block->size; | 443 | size = apcm->vm_block->size; |
439 | max_cisz = src->multi * src->rsc.msr; | 444 | max_cisz = src->multi * src->rsc.msr; |
440 | max_cisz = 128 * (max_cisz < 8 ? max_cisz : 8); | 445 | max_cisz = 128 * (max_cisz < 8 ? max_cisz : 8); |