Revision 7ad7e3c3 hw/ide/core.c

b/hw/ide/core.c
480 480
    int is_read = (op & BM_STATUS_RETRY_READ);
481 481
    BlockInterfaceErrorAction action = drive_get_on_error(s->bs, is_read);
482 482

  
483
    if (action == BLOCK_ERR_IGNORE)
483
    if (action == BLOCK_ERR_IGNORE) {
484
        bdrv_mon_event(s->bs, BDRV_ACTION_IGNORE, is_read);
484 485
        return 0;
486
    }
485 487

  
486 488
    if ((error == ENOSPC && action == BLOCK_ERR_STOP_ENOSPC)
487 489
            || action == BLOCK_ERR_STOP_ANY) {
488 490
        s->bus->bmdma->unit = s->unit;
489 491
        s->bus->bmdma->status |= op;
490 492
        vm_stop(0);
493
        bdrv_mon_event(s->bs, BDRV_ACTION_STOP, is_read);
491 494
    } else {
492 495
        if (op & BM_STATUS_DMA_RETRY) {
493 496
            dma_buf_commit(s, 0);
......
495 498
        } else {
496 499
            ide_rw_error(s);
497 500
        }
501
        bdrv_mon_event(s->bs, BDRV_ACTION_REPORT, is_read);
498 502
    }
499 503

  
500 504
    return 1;

Also available in: Unified diff