On Wed, 9 Jun 2021 at 18:29, Christian König <ckoenig.leichtzumerken@xxxxxxxxx> wrote: > > TTMs buffer objects are based on GEM objects for quite a while > and rely on initializing those fields before initializing the TTM BO. > > Noveau now doesn't init the GEM object for internally allocated BOs, > so make sure that we at least initialize some necessary fields. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> fwiw, Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx> > --- > drivers/gpu/drm/nouveau/nouveau_bo.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c > index 520b1ea9d16c..085023624fb0 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > @@ -149,6 +149,8 @@ nouveau_bo_del_ttm(struct ttm_buffer_object *bo) > */ > if (bo->base.dev) > drm_gem_object_release(&bo->base); > + else > + dma_resv_fini(&bo->base._resv); > > kfree(nvbo); > } > @@ -330,6 +332,10 @@ nouveau_bo_new(struct nouveau_cli *cli, u64 size, int align, > if (IS_ERR(nvbo)) > return PTR_ERR(nvbo); > > + nvbo->bo.base.size = size; > + dma_resv_init(&nvbo->bo.base._resv); > + drm_vma_node_reset(&nvbo->bo.base.vma_node); > + > ret = nouveau_bo_init(nvbo, size, align, domain, sg, robj); > if (ret) > return ret; > -- > 2.25.1 >