drm/syncobj: Fix oops on drm_syncobj_find_fence(file_priv, 0, ...).
authorEric Anholt <eric@anholt.net>
Mon, 5 Nov 2018 23:01:10 +0000 (15:01 -0800)
committerChristian König <christian.koenig@amd.com>
Tue, 6 Nov 2018 11:53:02 +0000 (12:53 +0100)
This broke rendering on V3D, where we almost always have a 0
in-syncobj.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 48197bc564c7 ("drm: add syncobj timeline support v9")
Cc: Chunming Zhou <david1.zhou@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.kernel.org/patch/10669317/
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/drm_syncobj.c

index 4dca5f7e8c4bd3317e06de72bb2f43ea3c97d244..da8175d9c6ffcbaf4d7acb82f2d18da34f1acb6b 100644 (file)
@@ -443,7 +443,8 @@ int drm_syncobj_find_fence(struct drm_file *file_private,
        int ret;
 
        ret = drm_syncobj_search_fence(syncobj, point, flags, fence);
-       drm_syncobj_put(syncobj);
+       if (syncobj)
+               drm_syncobj_put(syncobj);
        return ret;
 }
 EXPORT_SYMBOL(drm_syncobj_find_fence);