ide: stop PIO transfer on errors
This will provide a hook for sending the result of the command via the FIS receive area. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
1f88f77348
commit
08ee9e3368
@ -420,6 +420,7 @@ BlockDriverAIOCB *ide_issue_trim(BlockDriverState *bs,
|
||||
|
||||
static inline void ide_abort_command(IDEState *s)
|
||||
{
|
||||
ide_transfer_stop(s);
|
||||
s->status = READY_STAT | ERR_STAT;
|
||||
s->error = ABRT_ERR;
|
||||
}
|
||||
@ -605,9 +606,7 @@ void ide_set_inactive(IDEState *s, bool more)
|
||||
|
||||
void ide_dma_error(IDEState *s)
|
||||
{
|
||||
ide_transfer_stop(s);
|
||||
s->error = ABRT_ERR;
|
||||
s->status = READY_STAT | ERR_STAT;
|
||||
ide_abort_command(s);
|
||||
ide_set_inactive(s, false);
|
||||
ide_set_irq(s->bus);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user