summaryrefslogtreecommitdiff
path: root/hw/soc_dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/soc_dma.c')
-rw-r--r--hw/soc_dma.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/soc_dma.c b/hw/soc_dma.c
index f46e260600..4ff8cae7c2 100644
--- a/hw/soc_dma.c
+++ b/hw/soc_dma.c
@@ -49,7 +49,7 @@ static void *fifo_buf;
static int fifo_size;
void transfer_fifo2fifo(struct soc_dma_ch_s *ch)
{
- if (ch->bytes < fifo_size)
+ if (ch->bytes > fifo_size)
fifo_buf = realloc(fifo_buf, fifo_size = ch->bytes);
/* Implement as transfer_fifo2linear + transfer_linear2fifo. */
@@ -251,6 +251,7 @@ struct soc_dma_s *soc_dma_init(int n)
}
soc_dma_reset(&s->soc);
+ fifo_size = 0;
return &s->soc;
}