diff --git a/hw/ide/core.c b/hw/ide/core.c index db191a6..7256592 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -688,7 +688,8 @@ void ide_dma_cb(void *opaque, int ret) sector_num, n, s->dma_cmd); #endif - if (!ide_sect_range_ok(s, sector_num, n)) { + if ((s->dma_cmd == IDE_DMA_READ || s->dma_cmd == IDE_DMA_WRITE) && + !ide_sect_range_ok(s, sector_num, n)) { dma_buf_commit(s); ide_dma_error(s); return;