Revision a62eaa26 hw/ide/core.c

b/hw/ide/core.c
568 568
    qemu_sglist_destroy(&s->sg);
569 569
}
570 570

  
571
static void ide_async_cmd_done(IDEState *s)
572
{
573
    if (s->bus->dma->ops->async_cmd_done) {
574
        s->bus->dma->ops->async_cmd_done(s->bus->dma);
575
    }
576
}
577

  
571 578
void ide_set_inactive(IDEState *s)
572 579
{
573 580
    s->bus->dma->aiocb = NULL;
574 581
    s->bus->dma->ops->set_inactive(s->bus->dma);
582
    ide_async_cmd_done(s);
575 583
}
576 584

  
577 585
void ide_dma_error(IDEState *s)
......
804 812

  
805 813
    bdrv_acct_done(s->bs, &s->acct);
806 814
    s->status = READY_STAT | SEEK_STAT;
815
    ide_async_cmd_done(s);
807 816
    ide_set_irq(s->bus);
808 817
}
809 818

  

Also available in: Unified diff