void vfio_put_group(VFIOGroup *group)

{

    if (!QLIST_EMPTY(&group->device_list)) {

        return;

    }



    vfio_kvm_device_del_group(group);

    vfio_disconnect_container(group);

    QLIST_REMOVE(group, next);

    trace_vfio_put_group(group->fd);

    close(group->fd);

    g_free(group);



    if (QLIST_EMPTY(&vfio_group_list)) {

        qemu_unregister_reset(vfio_reset_handler, NULL);

    }

}

void vfio_put_group(VFIOGroup *group)

{

    if (!QLIST_EMPTY(&group->device_list)) {

        return;

    }



    vfio_kvm_device_del_group(group);

    vfio_disconnect_container(group);

    QLIST_REMOVE(group, next);

    trace_vfio_put_group(group->fd);

    close(group->fd);

    g_free(group);



    if (QLIST_EMPTY(&vfio_group_list)) {

        qemu_unregister_reset(vfio_reset_handler, NULL);

    }

}

    if (!QLIST_EMPTY(&group->device_list)) {
void FUNC_0(VFIOGroup *VAR_0)

{

    if (!QLIST_EMPTY(&VAR_0->device_list)) {

        return;

    }



    vfio_kvm_device_del_group(VAR_0);

    vfio_disconnect_container(VAR_0);

    QLIST_REMOVE(VAR_0, next);

    trace_vfio_put_group(VAR_0->fd);

    close(VAR_0->fd);

    g_free(VAR_0);



    if (QLIST_EMPTY(&vfio_group_list)) {

        qemu_unregister_reset(vfio_reset_handler, NULL);

    }

}

void FUNC_0(VFIOGroup *VAR_0)
{ if (!QLIST_EMPTY(&VAR_0->device_list)) { return; } vfio_kvm_device_del_group(VAR_0); vfio_disconnect_container(VAR_0); QLIST_REMOVE(VAR_0, next); trace_vfio_put_group(VAR_0->fd); close(VAR_0->fd); g_free(VAR_0); if (QLIST_EMPTY(&vfio_group_list)) { qemu_unregister_reset(vfio_reset_handler, NULL); } }