]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/msm/msm_submitqueue.c
Merge tag 'linux-kselftest-next-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kerne...
[linux.git] / drivers / gpu / drm / msm / msm_submitqueue.c
index a1d94be7883a061c26dc1773ecea30a548554431..c3d206105d285a838ed2096092e2d5454f37f323 100644 (file)
@@ -12,6 +12,8 @@ void msm_submitqueue_destroy(struct kref *kref)
        struct msm_gpu_submitqueue *queue = container_of(kref,
                struct msm_gpu_submitqueue, ref);
 
+       msm_file_private_put(queue->ctx);
+
        kfree(queue);
 }
 
@@ -49,8 +51,10 @@ void msm_submitqueue_close(struct msm_file_private *ctx)
         * No lock needed in close and there won't
         * be any more user ioctls coming our way
         */
-       list_for_each_entry_safe(entry, tmp, &ctx->submitqueues, node)
+       list_for_each_entry_safe(entry, tmp, &ctx->submitqueues, node) {
+               list_del(&entry->node);
                msm_submitqueue_put(entry);
+       }
 }
 
 int msm_submitqueue_create(struct drm_device *drm, struct msm_file_private *ctx,
@@ -81,6 +85,7 @@ int msm_submitqueue_create(struct drm_device *drm, struct msm_file_private *ctx,
 
        write_lock(&ctx->queuelock);
 
+       queue->ctx = msm_file_private_get(ctx);
        queue->id = ctx->queueid++;
 
        if (id)
This page took 0.037481 seconds and 4 git commands to generate.