Skip to content

Commit

Permalink
ide: do not use BMDMA in restart callback
Browse files Browse the repository at this point in the history
Whenever an error stops the VM, ide_handle_rw_error does
"s->bus->dma->unit = s->unit".  So we can just use
idebus_active_if.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 1424708286-16483-5-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
bonzini authored and kevmw committed Mar 10, 2015
1 parent f878c91 commit 2745df8
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions hw/ide/pci.c
Expand Up @@ -217,17 +217,17 @@ static void bmdma_restart_bh(void *opaque)
qemu_bh_delete(bm->bh);
bm->bh = NULL;

if (bm->unit == (uint8_t) -1) {
error_status = bus->error_status;
if (bus->error_status == 0) {
return;
}

s = bmdma_active_if(bm);
s = idebus_active_if(bus);
is_read = (bus->error_status & IDE_RETRY_READ) != 0;

/* The error status must be cleared before resubmitting the request: The
* request may fail again, and this case can only be distinguished if the
* called function can set a new error status. */
error_status = bus->error_status;
bus->error_status = 0;

if (error_status & IDE_RETRY_DMA) {
Expand Down

0 comments on commit 2745df8

Please sign in to comment.