Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6c6113b authored by Hang Yuan's avatar Hang Yuan Committed by Zhenyu Wang
Browse files

drm/i915/gvt: initialize dmabuf mutex in vgpu_create



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: e546e281("drm/i915/gvt: Dmabuf support for GVT-g")
Signed-off-by: default avatarHang Yuan <hang.yuan@linux.intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent 3fd34ac0
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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);