<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 7, 2021 at 1:07 PM Chia-I Wu <<a href="mailto:olvaffe@gmail.com">olvaffe@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The context might still be missing when DRM_IOCTL_PRIME_FD_TO_HANDLE is<br>
the first ioctl on the drm_file.<br>
<br>
Fixes: 72b48ae800da ("drm/virtio: enqueue virtio_gpu_create_context after the first 3D ioctl")<br>
Cc: Gurchetan Singh <<a href="mailto:gurchetansingh@chromium.org" target="_blank">gurchetansingh@chromium.org</a>><br>
Cc: Gerd Hoffmann <<a href="mailto:kraxel@redhat.com" target="_blank">kraxel@redhat.com</a>><br>
Signed-off-by: Chia-I Wu <<a href="mailto:olvaffe@gmail.com" target="_blank">olvaffe@gmail.com</a>><br>
---<br>
 drivers/gpu/drm/virtio/virtgpu_gem.c | 8 +++++---<br>
 1 file changed, 5 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c<br>
index c30c75ee83fc..8502400b2f9c 100644<br>
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c<br>
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c<br>
@@ -39,9 +39,6 @@ static int virtio_gpu_gem_create(struct drm_file *file,<br>
        int ret;<br>
        u32 handle;<br>
<br>
-       if (vgdev->has_virgl_3d)<br>
-               virtio_gpu_create_context(dev, file);<br>
-<br>
        ret = virtio_gpu_object_create(vgdev, params, &obj, NULL);<br>
        if (ret < 0)<br>
                return ret;<br>
@@ -119,6 +116,11 @@ int virtio_gpu_gem_object_open(struct drm_gem_object *obj,<br>
        if (!vgdev->has_virgl_3d)<br>
                goto out_notify;<br>
<br>
+       /* the context might still be missing when the first ioctl is<br>
+        * DRM_IOCTL_MODE_CREATE_DUMB or DRM_IOCTL_PRIME_FD_TO_HANDLE<br>
+        */<br>
+       virtio_gpu_create_context(obj->dev, file);<br>
+<br>
        objs = virtio_gpu_array_alloc(1);<br>
        if (!objs)<br>
                return -ENOMEM;<br>
-- <br>
2.29.2.729.g45daf8777d-goog<br>
<br></blockquote><div>Reviewed-by: Gurchetan Singh <<a href="mailto:gurchetansingh@chromium.org">gurchetansingh@chromium.org</a>><br></div><div> </div></div></div>