Commit e3982b3c authored by Kevin Wolf's avatar Kevin Wolf
Browse files

ide: Set bus master inactive on error



BMIDEA in the status register must be cleared on error. This makes FreeBSD
respond (more) correctly to I/O errors.

Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
parent 8337606d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -486,6 +486,8 @@ void ide_dma_error(IDEState *s)
    ide_transfer_stop(s);
    s->error = ABRT_ERR;
    s->status = READY_STAT | ERR_STAT;
    ide_dma_set_inactive(s->bus->bmdma);
    s->bus->bmdma->status |= BM_STATUS_INT;
    ide_set_irq(s->bus);
}