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: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
parent
8337606d35
commit
e3982b3cf6
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user