u32 size = vmw_du_cursor_mob_size(vps->base.crtc_w, vps->base.crtc_h);
        u32 i;
        u32 cursor_max_dim, mob_max_size;
+       struct vmw_fence_obj *fence = NULL;
        int ret;
 
        if (!dev_priv->has_mob ||
        if (ret != 0)
                goto teardown;
 
-       vmw_bo_fence_single(&vps->cursor.bo->tbo, NULL);
+       ret = vmw_execbuf_fence_commands(NULL, dev_priv, &fence, NULL);
+       if (ret != 0) {
+               ttm_bo_unreserve(&vps->cursor.bo->tbo);
+               goto teardown;
+       }
+
+       dma_fence_wait(&fence->base, false);
+       dma_fence_put(&fence->base);
+
        ttm_bo_unreserve(&vps->cursor.bo->tbo);
        return 0;