> diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c 
> b/drivers/gpu/drm/i915/gvt/dmabuf.c
> index 8a1d6c5636c2..5b198162c588 100644
> --- a/drivers/gpu/drm/i915/gvt/dmabuf.c
> +++ b/drivers/gpu/drm/i915/gvt/dmabuf.c
> @@ -202,13 +202,19 @@ static struct drm_i915_gem_object 
> *vgpu_create_gem(struct drm_device *dev,
>       static struct lock_class_key lock_class;
>       struct drm_i915_private *dev_priv = to_i915(dev);
>       struct drm_i915_gem_object *obj;
> +     int ret;
>  
>       obj = i915_gem_object_alloc();
>       if (obj == NULL)
>               return NULL;
>  
> -     drm_gem_private_object_init(dev, &obj->base,
> +     ret = drm_gem_private_object_init(dev, &obj->base,
>               roundup(info->size, PAGE_SIZE));
> +     if (ret) {
> +             i915_gem_object_free(obj);
Building on v7.2 with DRM_I915_GVT enabled will result in modpost undefined 
symbol error.
Exporting i915_gem_object_free() in I915_GVT namespace 
(drivers/gpu/drm/i915/intel_gvt.c)
should fix it.
> +             return NULL;
> +     }
> +
>       i915_gem_object_init(obj, &intel_vgpu_gem_ops, &lock_class, 0);
>       i915_gem_object_set_readonly(obj);
Thanks,
Youssef

Reply via email to