diff options
Diffstat (limited to 'tools/ioemu/hw/sb16.c')
-rw-r--r-- | tools/ioemu/hw/sb16.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/ioemu/hw/sb16.c b/tools/ioemu/hw/sb16.c index 04325ac031..387330f414 100644 --- a/tools/ioemu/hw/sb16.c +++ b/tools/ioemu/hw/sb16.c @@ -1235,8 +1235,10 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) s->block_size); #endif - while (s->left_till_irq <= 0) { - s->left_till_irq = s->block_size + s->left_till_irq; + if (s->block_size) { + while (s->left_till_irq <= 0) { + s->left_till_irq = s->block_size + s->left_till_irq; + } } return dma_pos; |