Revision 69c38b8f

b/hw/ide/core.c
430 430
    s->error = ABRT_ERR;
431 431
    s->status = READY_STAT | ERR_STAT;
432 432
    ide_set_inactive(s);
433
    s->bus->dma->ops->add_status(s->bus->dma, BM_STATUS_INT);
434 433
    ide_set_irq(s->bus);
435 434
}
436 435

  
......
500 499
    n = s->nsector;
501 500
    s->io_buffer_index = 0;
502 501
    s->io_buffer_size = n * 512;
503
    if (s->bus->dma->ops->prepare_buf(s->bus->dma, s->is_read) == 0)
502
    if (s->bus->dma->ops->prepare_buf(s->bus->dma, s->is_read) == 0) {
503
        /* The PRDs were too short. Reset the Active bit, but don't raise an
504
         * interrupt. */
504 505
        goto eot;
506
    }
505 507

  
506 508
#ifdef DEBUG_AIO
507 509
    printf("ide_dma_cb: sector_num=%" PRId64 " n=%d, is_read=%d\n",
......
523 525
    return;
524 526

  
525 527
eot:
526
   s->bus->dma->ops->add_status(s->bus->dma, BM_STATUS_INT);
527 528
   ide_set_inactive(s);
528 529
}
529 530

  

Also available in: Unified diff