From 90c08dfd12cfa7c2c04d1debe19627c2daece146 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Thu, 24 Dec 2015 23:11:25 +0100 Subject: [PATCH] (3DS) dsp audio driver: incorrect value was being used due to missing parentheses, resulting in a random lockup. fixes #2587. --- audio/drivers/ctr_dsp_audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio/drivers/ctr_dsp_audio.c b/audio/drivers/ctr_dsp_audio.c index b46642fc20..fd5e0e283f 100644 --- a/audio/drivers/ctr_dsp_audio.c +++ b/audio/drivers/ctr_dsp_audio.c @@ -111,7 +111,7 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size) do{ svcSleepThread(100000); sample_pos = ndspChnGetSamplePos(ctr->channel); - }while (((sample_pos - (ctr->pos + size >>2)) & CTR_DSP_AUDIO_COUNT_MASK) > (CTR_DSP_AUDIO_COUNT >> 1) + }while (((sample_pos - (ctr->pos + (size >>2))) & CTR_DSP_AUDIO_COUNT_MASK) > (CTR_DSP_AUDIO_COUNT >> 1) || (((ctr->pos - (CTR_DSP_AUDIO_COUNT >> 4) - sample_pos) & CTR_DSP_AUDIO_COUNT_MASK) > (CTR_DSP_AUDIO_COUNT >> 1))); } }