On 24.03.2016 18:12, Paolo Bonzini wrote:


On 24/03/2016 16:11, Pavel Butsykin wrote:

You want something like this:
dma_cb()
{
...
     if (ret < 0) {
         if (ide_handle_rw_error(s, -ret, ide_dma_cmd_to_retry(s))) {
             return;
         }
     }
...
}

static void ide_bmdma_pre_save(void *opaque)
{
...
     if (!(bm->status & BM_STATUS_DMAING) && bm->dma_cb) {
         bm->bus->error_status = ide_dma_cmd_to_retry(bmdma_active_if(bm));
     }
...
}

Yes, that would do.

Well, I can do it, looks quite ok.

Paolo


Reply via email to