static void dma_complete(DMAAIOCB *dbs, int ret)

{

    trace_dma_complete(dbs, ret, dbs->common.cb);



    dma_bdrv_unmap(dbs);

    if (dbs->common.cb) {

        dbs->common.cb(dbs->common.opaque, ret);

    }

    qemu_iovec_destroy(&dbs->iov);

    if (dbs->bh) {

        qemu_bh_delete(dbs->bh);

        dbs->bh = NULL;

    }

    qemu_aio_unref(dbs);

}

static void dma_complete(DMAAIOCB *dbs, int ret)

{

    trace_dma_complete(dbs, ret, dbs->common.cb);



    dma_bdrv_unmap(dbs);

    if (dbs->common.cb) {

        dbs->common.cb(dbs->common.opaque, ret);

    }

    qemu_iovec_destroy(&dbs->iov);

    if (dbs->bh) {

        qemu_bh_delete(dbs->bh);

        dbs->bh = NULL;

    }

    qemu_aio_unref(dbs);

}

static void FUNC_0(DMAAIOCB *VAR_0, int VAR_1)

{

    trace_dma_complete(VAR_0, VAR_1, VAR_0->common.cb);



    dma_bdrv_unmap(VAR_0);

    if (VAR_0->common.cb) {

        VAR_0->common.cb(VAR_0->common.opaque, VAR_1);

    }

    qemu_iovec_destroy(&VAR_0->iov);

    if (VAR_0->bh) {

        qemu_bh_delete(VAR_0->bh);

        VAR_0->bh = NULL;

    }

    qemu_aio_unref(VAR_0);

}

static void FUNC_0(DMAAIOCB *VAR_0, int VAR_1)
{ trace_dma_complete(VAR_0, VAR_1, VAR_0->common.cb); dma_bdrv_unmap(VAR_0); if (VAR_0->common.cb) { VAR_0->common.cb(VAR_0->common.opaque, VAR_1); } qemu_iovec_destroy(&VAR_0->iov); if (VAR_0->bh) { qemu_bh_delete(VAR_0->bh); VAR_0->bh = NULL; } qemu_aio_unref(VAR_0); }