Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / radeon / radeon_mn.c
index 0157bc2f11f8bd93fd20a2553e953af73c2d511c..a69bd441dd2d0cc612b9fa4d9e7711934270e3c5 100644 (file)
@@ -122,6 +122,7 @@ static void radeon_mn_invalidate_range_start(struct mmu_notifier *mn,
        it = interval_tree_iter_first(&rmn->objects, start, end);
        while (it) {
                struct radeon_bo *bo;
+               struct fence *fence;
                int r;
 
                bo = container_of(it, struct radeon_bo, mn_it);
@@ -133,8 +134,9 @@ static void radeon_mn_invalidate_range_start(struct mmu_notifier *mn,
                        continue;
                }
 
-               if (bo->tbo.sync_obj) {
-                       r = radeon_fence_wait(bo->tbo.sync_obj, false);
+               fence = reservation_object_get_excl(bo->tbo.resv);
+               if (fence) {
+                       r = radeon_fence_wait((struct radeon_fence *)fence, false);
                        if (r)
                                DRM_ERROR("(%d) failed to wait for user bo\n", r);
                }