Skip to content

Commit

Permalink
drm/i915/gvt: Free dmabuf_obj list in intel_vgpu_dmabuf_cleanup
Browse files Browse the repository at this point in the history
The per vGPU dmabuf_obj list should be released in intel_vgpu_dmabuf_
cleanup, which is invoked either in the process of closing a VM or in
the process of removing a vGPU.

Fixes: e3a0d7976c53 ("drm/i915/gvt: Handle orphan dmabuf_objs")
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
  • Loading branch information
Tina Zhang authored and Zhenyu Wang committed Dec 4, 2017
1 parent 4a136d5 commit 82a3b67
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/gpu/drm/i915/gvt/dmabuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ static void dmabuf_gem_object_free(struct kref *kref)
struct list_head *pos;
struct intel_vgpu_dmabuf_obj *dmabuf_obj;

if (vgpu) {
if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) {
list_for_each(pos, &vgpu->dmabuf_obj_list_head) {
dmabuf_obj = container_of(pos,
struct intel_vgpu_dmabuf_obj, list);
Expand Down Expand Up @@ -530,6 +530,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgpu)
if (dmabuf_obj->vgpu)
intel_gvt_hypervisor_put_vfio_device(vgpu);

list_del(pos);
dmabuf_obj->vgpu = NULL;

}
Expand Down

0 comments on commit 82a3b67

Please sign in to comment.