Just add the call before taking locks. Signed-off-by: Christian König <christian.koenig@xxxxxxx> --- drivers/gpu/drm/nouveau/nouveau_gem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index a70e82413fa7..e349a8b32549 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -552,6 +552,7 @@ nouveau_gem_pushbuf_validate(struct nouveau_channel *chan, struct validate_op *op, bool *apply_relocs) { struct nouveau_cli *cli = nouveau_cli(file_priv); + unsigned int i; int ret; INIT_LIST_HEAD(&op->list); @@ -559,6 +560,17 @@ nouveau_gem_pushbuf_validate(struct nouveau_channel *chan, if (nr_buffers == 0) return 0; + for (i = 0; i < nr_buffers; i++) { + struct drm_nouveau_gem_pushbuf_bo *b = &pbbo[i]; + struct drm_gem_object *gem; + + gem = drm_gem_object_lookup(file_priv, b->handle); + if (!gem) + return -ENOENT; + dma_resv_sync_user_fence(gem->resv); + drm_gem_object_put(gem); + } + ret = validate_init(chan, file_priv, pbbo, nr_buffers, op); if (unlikely(ret)) { if (ret != -ERESTARTSYS) -- 2.25.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel