15 lines
463 B
Diff
15 lines
463 B
Diff
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;
|