]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915/gvt: initialize dmabuf mutex in vgpu_create
authorHang Yuan <hang.yuan@linux.intel.com>
Mon, 30 Jul 2018 02:52:53 +0000 (10:52 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 14 Aug 2018 07:26:09 +0000 (15:26 +0800)
Currently, the mutex used in GVT dmabuf support is not initialized until
vgpu device is opened. If one vgpu device is opened and then removed, the
mutex will be used in vgpu remove operation without initialization. This
patch initializes the mutex in vgpu create operation to avoid the problem.

Fixes: e11f6b115b50("drm/i915/gvt: Dmabuf support for GVT-g")
Signed-off-by: Hang Yuan <hang.yuan@linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/kvmgt.c
drivers/gpu/drm/i915/gvt/vgpu.c

index 80b49a1a1281c0bce84081944666261ac9259f02..31986c1c253ed7b858151a5652e212032e3c2865 100644 (file)
@@ -1615,7 +1615,6 @@ static int kvmgt_guest_init(struct mdev_device *mdev)
        kvmgt_protect_table_init(info);
        gvt_cache_init(vgpu);
 
-       mutex_init(&vgpu->dmabuf_lock);
        init_completion(&vgpu->vblank_done);
 
        info->track_node.track_write = kvmgt_page_track_write;
index ce0d93bf67fbee752f6580c052995c5ce7766744..a4e8e3cf74fd58b400331bc608516e9414e458d3 100644 (file)
@@ -379,6 +379,7 @@ static struct intel_vgpu *__intel_gvt_create_vgpu(struct intel_gvt *gvt,
        vgpu->gvt = gvt;
        vgpu->sched_ctl.weight = param->weight;
        mutex_init(&vgpu->vgpu_lock);
+       mutex_init(&vgpu->dmabuf_lock);
        INIT_LIST_HEAD(&vgpu->dmabuf_obj_list_head);
        INIT_RADIX_TREE(&vgpu->page_track_tree, GFP_KERNEL);
        idr_init(&vgpu->object_idr);