Fixed issued with outover flow when CHAN_BUFF_CTRL enabled

This commit is contained in:
Ross Owen
2013-07-16 17:12:41 +01:00
parent f84f82d5ae
commit f52aaeba8e

View File

@@ -644,18 +644,23 @@ void decouple(chanend c_mix_out,
int tmp; int tmp;
#ifdef CHAN_BUFF_CTRL #ifdef CHAN_BUFF_CTRL
inuchar(c_buf_ctrl); if(!outOverflow)
{
/* Need to keep polling in overflow case */
inuchar(c_buf_ctrl);
}
#endif #endif
if (!isnull(c_clk_int)) if (!isnull(c_clk_int))
{ {
check_for_interrupt(c_clk_int); check_for_interrupt(c_clk_int);
} }
{ {
asm("#decouple-default"); asm("#decouple-default");
/* Check for freq change or other update */ /* Check for freq change or other update */
GET_SHARED_GLOBAL(tmp, g_freqChange_flag); GET_SHARED_GLOBAL(tmp, g_freqChange_flag);
if (tmp == SET_SAMPLE_FREQ) if (tmp == SET_SAMPLE_FREQ)
{ {
@@ -857,7 +862,6 @@ void decouple(chanend c_mix_out,
} }
#endif #endif
#ifdef INPUT #ifdef INPUT
{ {
/* Check if buffer() has sent a packet to host - uses shared mem flag to save chanends */ /* Check if buffer() has sent a packet to host - uses shared mem flag to save chanends */